 /* Copyright 2018 JDCLOUD.COM

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http:#www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.





Contact: 

NOTE: This class is auto generated by the jdcloud code generator program.
*/


#import <Foundation/Foundation.h>
#import <JDCloudOCSDKJdfusion/JdfusionModel.h>

@implementation SubnetInfo
-(id) initWithId:(NSString*) idValue
      vpcId:(NSString*)vpcId
      subnetName:(NSString*)subnetName
      cidrBlock:(NSString*)cidrBlock
      availableIpCount:(NSNumber*)availableIpCount
      descriptionValue:(NSString*)descriptionValue
      endIp:(NSString*)endIp
      routeTableId:(NSString*)routeTableId
      startIp:(NSString*)startIp
      cloudID:(NSString*)cloudID
      az:(NSString*)az
      createdTime:(NSString*)createdTime { 
     self.idValue = idValue;               
     self.vpcId = vpcId;               
     self.subnetName = subnetName;               
     self.cidrBlock = cidrBlock;               
     self.availableIpCount = availableIpCount;               
     self.descriptionValue = descriptionValue;               
     self.endIp = endIp;               
     self.routeTableId = routeTableId;               
     self.startIp = startIp;               
     self.cloudID = cloudID;               
     self.az = az;               
     self.createdTime = createdTime;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    if([self vpcId])
    {
        [result setValue:[self vpcId] forKey:@"vpcId"];
    }
    if([self subnetName])
    {
        [result setValue:[self subnetName] forKey:@"subnetName"];
    }
    if([self cidrBlock])
    {
        [result setValue:[self cidrBlock] forKey:@"cidrBlock"];
    }
    if([self availableIpCount])
    {
        [result setValue:[self availableIpCount] forKey:@"availableIpCount"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self endIp])
    {
        [result setValue:[self endIp] forKey:@"endIp"];
    }
    if([self routeTableId])
    {
        [result setValue:[self routeTableId] forKey:@"routeTableId"];
    }
    if([self startIp])
    {
        [result setValue:[self startIp] forKey:@"startIp"];
    }
    if([self cloudID])
    {
        [result setValue:[self cloudID] forKey:@"cloudID"];
    }
    if([self az])
    {
        [result setValue:[self az] forKey:@"az"];
    }
    if([self createdTime])
    {
        [result setValue:[self createdTime] forKey:@"createdTime"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.idValue = [dictionary objectForKey:@"id"];
    self.vpcId = [dictionary objectForKey:@"vpcId"];
    self.subnetName = [dictionary objectForKey:@"subnetName"];
    self.cidrBlock = [dictionary objectForKey:@"cidrBlock"];
    self.availableIpCount = [dictionary objectForKey:@"availableIpCount"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.endIp = [dictionary objectForKey:@"endIp"];
    self.routeTableId = [dictionary objectForKey:@"routeTableId"];
    self.startIp = [dictionary objectForKey:@"startIp"];
    self.cloudID = [dictionary objectForKey:@"cloudID"];
    self.az = [dictionary objectForKey:@"az"];
    self.createdTime = [dictionary objectForKey:@"createdTime"];
    return self;
}
 @end
@implementation CreateSubnet
-(id) initWithId:(NSString*) idValue
      name:(NSString*)name
      vpcId:(NSString*)vpcId
      cidrBlock:(NSString*)cidrBlock
      descriptionValue:(NSString*)descriptionValue
      az:(NSString*)az
      createdTime:(NSString*)createdTime
      cloudID:(NSString*)cloudID { 
     self.idValue = idValue;               
     self.name = name;               
     self.vpcId = vpcId;               
     self.cidrBlock = cidrBlock;               
     self.descriptionValue = descriptionValue;               
     self.az = az;               
     self.createdTime = createdTime;               
     self.cloudID = cloudID;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self vpcId])
    {
        [result setValue:[self vpcId] forKey:@"vpcId"];
    }
    if([self cidrBlock])
    {
        [result setValue:[self cidrBlock] forKey:@"cidrBlock"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self az])
    {
        [result setValue:[self az] forKey:@"az"];
    }
    if([self createdTime])
    {
        [result setValue:[self createdTime] forKey:@"createdTime"];
    }
    if([self cloudID])
    {
        [result setValue:[self cloudID] forKey:@"cloudID"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.idValue = [dictionary objectForKey:@"id"];
    self.name = [dictionary objectForKey:@"name"];
    self.vpcId = [dictionary objectForKey:@"vpcId"];
    self.cidrBlock = [dictionary objectForKey:@"cidrBlock"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.az = [dictionary objectForKey:@"az"];
    self.createdTime = [dictionary objectForKey:@"createdTime"];
    self.cloudID = [dictionary objectForKey:@"cloudID"];
    return self;
}
 @end
@implementation SubnetDesInfo
-(id) initWithId:(NSString*) idValue
      name:(NSString*)name
      vpcId:(NSString*)vpcId
      cidrBlock:(NSString*)cidrBlock
      descriptionValue:(NSString*)descriptionValue
      az:(NSString*)az
      createdTime:(NSString*)createdTime
      cloudID:(NSString*)cloudID { 
     self.idValue = idValue;               
     self.name = name;               
     self.vpcId = vpcId;               
     self.cidrBlock = cidrBlock;               
     self.descriptionValue = descriptionValue;               
     self.az = az;               
     self.createdTime = createdTime;               
     self.cloudID = cloudID;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self vpcId])
    {
        [result setValue:[self vpcId] forKey:@"vpcId"];
    }
    if([self cidrBlock])
    {
        [result setValue:[self cidrBlock] forKey:@"cidrBlock"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self az])
    {
        [result setValue:[self az] forKey:@"az"];
    }
    if([self createdTime])
    {
        [result setValue:[self createdTime] forKey:@"createdTime"];
    }
    if([self cloudID])
    {
        [result setValue:[self cloudID] forKey:@"cloudID"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.idValue = [dictionary objectForKey:@"id"];
    self.name = [dictionary objectForKey:@"name"];
    self.vpcId = [dictionary objectForKey:@"vpcId"];
    self.cidrBlock = [dictionary objectForKey:@"cidrBlock"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.az = [dictionary objectForKey:@"az"];
    self.createdTime = [dictionary objectForKey:@"createdTime"];
    self.cloudID = [dictionary objectForKey:@"cloudID"];
    return self;
}
 @end
@implementation VpcInfo
-(id) initWithId:(NSString*) idValue
      name:(NSString*)name
      cidrBlock:(NSString*)cidrBlock
      descriptionValue:(NSString*)descriptionValue
      createdTime:(NSString*)createdTime
      cloudID:(NSString*)cloudID { 
     self.idValue = idValue;               
     self.name = name;               
     self.cidrBlock = cidrBlock;               
     self.descriptionValue = descriptionValue;               
     self.createdTime = createdTime;               
     self.cloudID = cloudID;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self cidrBlock])
    {
        [result setValue:[self cidrBlock] forKey:@"cidrBlock"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self createdTime])
    {
        [result setValue:[self createdTime] forKey:@"createdTime"];
    }
    if([self cloudID])
    {
        [result setValue:[self cloudID] forKey:@"cloudID"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.idValue = [dictionary objectForKey:@"id"];
    self.name = [dictionary objectForKey:@"name"];
    self.cidrBlock = [dictionary objectForKey:@"cidrBlock"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.createdTime = [dictionary objectForKey:@"createdTime"];
    self.cloudID = [dictionary objectForKey:@"cloudID"];
    return self;
}
 @end
@implementation ResourceTFInfo
-(id) initWithUuid:(NSString*) uuid
      body:(NSString*)body
      status:(NSString*)status
      result:(NSString*)result
      createdTime:(NSString*)createdTime
      updateTime:(NSString*)updateTime
      provider:(NSString*)provider
      cloudId:(NSString*)cloudId
      userId:(NSString*)userId { 
     self.uuid = uuid;               
     self.body = body;               
     self.status = status;               
     self.result = result;               
     self.createdTime = createdTime;               
     self.updateTime = updateTime;               
     self.provider = provider;               
     self.cloudId = cloudId;               
     self.userId = userId;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self uuid])
    {
        [result setValue:[self uuid] forKey:@"uuid"];
    }
    if([self body])
    {
        [result setValue:[self body] forKey:@"body"];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    if([self result])
    {
        [result setValue:[self result] forKey:@"result"];
    }
    if([self createdTime])
    {
        [result setValue:[self createdTime] forKey:@"createdTime"];
    }
    if([self updateTime])
    {
        [result setValue:[self updateTime] forKey:@"updateTime"];
    }
    if([self provider])
    {
        [result setValue:[self provider] forKey:@"provider"];
    }
    if([self cloudId])
    {
        [result setValue:[self cloudId] forKey:@"cloudId"];
    }
    if([self userId])
    {
        [result setValue:[self userId] forKey:@"userId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.uuid = [dictionary objectForKey:@"uuid"];
    self.body = [dictionary objectForKey:@"body"];
    self.status = [dictionary objectForKey:@"status"];
    self.result = [dictionary objectForKey:@"result"];
    self.createdTime = [dictionary objectForKey:@"createdTime"];
    self.updateTime = [dictionary objectForKey:@"updateTime"];
    self.provider = [dictionary objectForKey:@"provider"];
    self.cloudId = [dictionary objectForKey:@"cloudId"];
    self.userId = [dictionary objectForKey:@"userId"];
    return self;
}
 @end
@implementation VpcListInfo
-(id) initWithId:(NSString*) idValue
      name:(NSString*)name
      cidrBlock:(NSString*)cidrBlock
      descriptionValue:(NSString*)descriptionValue
      createdTime:(NSString*)createdTime
      cloudID:(NSString*)cloudID
      subnetIds:(NSArray<NSString*>*)subnetIds
      routeTableIds:(NSArray<NSString*>*)routeTableIds { 
     self.idValue = idValue;               
     self.name = name;               
     self.cidrBlock = cidrBlock;               
     self.descriptionValue = descriptionValue;               
     self.createdTime = createdTime;               
     self.cloudID = cloudID;               
     self.subnetIds = subnetIds;               
     self.routeTableIds = routeTableIds;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self cidrBlock])
    {
        [result setValue:[self cidrBlock] forKey:@"cidrBlock"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self createdTime])
    {
        [result setValue:[self createdTime] forKey:@"createdTime"];
    }
    if([self cloudID])
    {
        [result setValue:[self cloudID] forKey:@"cloudID"];
    }
    if([self subnetIds])
    {
        [result setValue:[self subnetIds] forKey:@"subnetIds"];
    }
    if([self routeTableIds])
    {
        [result setValue:[self routeTableIds] forKey:@"routeTableIds"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.idValue = [dictionary objectForKey:@"id"];
    self.name = [dictionary objectForKey:@"name"];
    self.cidrBlock = [dictionary objectForKey:@"cidrBlock"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.createdTime = [dictionary objectForKey:@"createdTime"];
    self.cloudID = [dictionary objectForKey:@"cloudID"];
    self.subnetIds = [dictionary objectForKey:@"subnetIds"];
    self.routeTableIds = [dictionary objectForKey:@"routeTableIds"];
    return self;
}
 @end
@implementation SysDiskInfo
-(id) initWithDiskSize:(NSNumber*) diskSize
      diskMediumType:(NSString*)diskMediumType
      diskName:(NSString*)diskName
      autoDelete:(NSString*)autoDelete
      status:(NSString*)status { 
     self.diskSize = diskSize;               
     self.diskMediumType = diskMediumType;               
     self.diskName = diskName;               
     self.autoDelete = autoDelete;               
     self.status = status;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self diskSize])
    {
        [result setValue:[self diskSize] forKey:@"diskSize"];
    }
    if([self diskMediumType])
    {
        [result setValue:[self diskMediumType] forKey:@"diskMediumType"];
    }
    if([self diskName])
    {
        [result setValue:[self diskName] forKey:@"diskName"];
    }
    if([self autoDelete])
    {
        [result setValue:[self autoDelete] forKey:@"autoDelete"];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.diskSize = [dictionary objectForKey:@"diskSize"];
    self.diskMediumType = [dictionary objectForKey:@"diskMediumType"];
    self.diskName = [dictionary objectForKey:@"diskName"];
    self.autoDelete = [dictionary objectForKey:@"autoDelete"];
    self.status = [dictionary objectForKey:@"status"];
    return self;
}
 @end
@implementation ImageType
-(id) initWithId:(NSString*) idValue
      desc:(NSString*)desc
      imageSource:(NSString*)imageSource
      name:(NSString*)name
      osType:(NSString*)osType
      osVersion:(NSString*)osVersion
      platform:(NSString*)platform
      region:(NSString*)region
      cloudID:(NSString*)cloudID { 
     self.idValue = idValue;               
     self.desc = desc;               
     self.imageSource = imageSource;               
     self.name = name;               
     self.osType = osType;               
     self.osVersion = osVersion;               
     self.platform = platform;               
     self.region = region;               
     self.cloudID = cloudID;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    if([self desc])
    {
        [result setValue:[self desc] forKey:@"desc"];
    }
    if([self imageSource])
    {
        [result setValue:[self imageSource] forKey:@"imageSource"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self osType])
    {
        [result setValue:[self osType] forKey:@"osType"];
    }
    if([self osVersion])
    {
        [result setValue:[self osVersion] forKey:@"osVersion"];
    }
    if([self platform])
    {
        [result setValue:[self platform] forKey:@"platform"];
    }
    if([self region])
    {
        [result setValue:[self region] forKey:@"region"];
    }
    if([self cloudID])
    {
        [result setValue:[self cloudID] forKey:@"cloudID"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.idValue = [dictionary objectForKey:@"id"];
    self.desc = [dictionary objectForKey:@"desc"];
    self.imageSource = [dictionary objectForKey:@"imageSource"];
    self.name = [dictionary objectForKey:@"name"];
    self.osType = [dictionary objectForKey:@"osType"];
    self.osVersion = [dictionary objectForKey:@"osVersion"];
    self.platform = [dictionary objectForKey:@"platform"];
    self.region = [dictionary objectForKey:@"region"];
    self.cloudID = [dictionary objectForKey:@"cloudID"];
    return self;
}
 @end
@implementation SecurityGroup
-(id) initWithGroupId:(NSString*) groupId
      groupName:(NSString*)groupName { 
     self.groupId = groupId;               
     self.groupName = groupName;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self groupId])
    {
        [result setValue:[self groupId] forKey:@"groupId"];
    }
    if([self groupName])
    {
        [result setValue:[self groupName] forKey:@"groupName"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.groupId = [dictionary objectForKey:@"groupId"];
    self.groupName = [dictionary objectForKey:@"groupName"];
    return self;
}
 @end
@implementation SystemDisk
-(id) initWithCategory:(NSString*) category
      diskSize:(NSNumber*)diskSize
      descriptionValue:(NSString*)descriptionValue { 
     self.category = category;               
     self.diskSize = diskSize;               
     self.descriptionValue = descriptionValue;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self category])
    {
        [result setValue:[self category] forKey:@"category"];
    }
    if([self diskSize])
    {
        [result setValue:[self diskSize] forKey:@"diskSize"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.category = [dictionary objectForKey:@"category"];
    self.diskSize = [dictionary objectForKey:@"diskSize"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    return self;
}
 @end
@implementation Ip
-(id) initWithElasticIpAddress:(NSString*) elasticIpAddress
      privateIpAddress:(NSString*)privateIpAddress { 
     self.elasticIpAddress = elasticIpAddress;               
     self.privateIpAddress = privateIpAddress;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self elasticIpAddress])
    {
        [result setValue:[self elasticIpAddress] forKey:@"elasticIpAddress"];
    }
    if([self privateIpAddress])
    {
        [result setValue:[self privateIpAddress] forKey:@"privateIpAddress"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.elasticIpAddress = [dictionary objectForKey:@"elasticIpAddress"];
    self.privateIpAddress = [dictionary objectForKey:@"privateIpAddress"];
    return self;
}
 @end
@implementation Tag
-(id) initWithTagKey:(NSString*) tagKey
      tagValue:(NSString*)tagValue { 
     self.tagKey = tagKey;               
     self.tagValue = tagValue;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self tagKey])
    {
        [result setValue:[self tagKey] forKey:@"tagKey"];
    }
    if([self tagValue])
    {
        [result setValue:[self tagValue] forKey:@"tagValue"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.tagKey = [dictionary objectForKey:@"tagKey"];
    self.tagValue = [dictionary objectForKey:@"tagValue"];
    return self;
}
 @end
@implementation DataDiskInfo
-(id) initWithDiskId:(NSString*) diskId
      diskSize:(NSNumber*)diskSize
      diskMediumType:(NSString*)diskMediumType
      diskName:(NSString*)diskName
      autoDelete:(NSString*)autoDelete
      status:(NSString*)status { 
     self.diskId = diskId;               
     self.diskSize = diskSize;               
     self.diskMediumType = diskMediumType;               
     self.diskName = diskName;               
     self.autoDelete = autoDelete;               
     self.status = status;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self diskId])
    {
        [result setValue:[self diskId] forKey:@"diskId"];
    }
    if([self diskSize])
    {
        [result setValue:[self diskSize] forKey:@"diskSize"];
    }
    if([self diskMediumType])
    {
        [result setValue:[self diskMediumType] forKey:@"diskMediumType"];
    }
    if([self diskName])
    {
        [result setValue:[self diskName] forKey:@"diskName"];
    }
    if([self autoDelete])
    {
        [result setValue:[self autoDelete] forKey:@"autoDelete"];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.diskId = [dictionary objectForKey:@"diskId"];
    self.diskSize = [dictionary objectForKey:@"diskSize"];
    self.diskMediumType = [dictionary objectForKey:@"diskMediumType"];
    self.diskName = [dictionary objectForKey:@"diskName"];
    self.autoDelete = [dictionary objectForKey:@"autoDelete"];
    self.status = [dictionary objectForKey:@"status"];
    return self;
}
 @end
@implementation InstanceType
-(id) initWithName:(NSString*) name
      cpu:(NSNumber*)cpu
      memory:(NSNumber*)memory { 
     self.name = name;               
     self.cpu = cpu;               
     self.memory = memory;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self cpu])
    {
        [result setValue:[self cpu] forKey:@"cpu"];
    }
    if([self memory])
    {
        [result setValue:[self memory] forKey:@"memory"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.name = [dictionary objectForKey:@"name"];
    self.cpu = [dictionary objectForKey:@"cpu"];
    self.memory = [dictionary objectForKey:@"memory"];
    return self;
}
 @end
@implementation RdsInstanceDetailInfo
-(id) initWithId:(NSString*) idValue
      name:(NSString*)name
      azs:(NSArray<NSString*>*)azs
      engine:(NSString*)engine
      engineVersion:(NSString*)engineVersion
      status:(NSString*)status
      payType:(NSString*)payType
      storageGB:(NSNumber*)storageGB
      memoryMB:(NSNumber*)memoryMB
      instanceType:(NSString*)instanceType
      instanceClassType:(NSString*)instanceClassType
      connectionMode:(NSString*)connectionMode
      connectionString:(NSString*)connectionString
      instanceCPU:(NSNumber*)instanceCPU
      port:(NSString*)port
      vpcId:(NSString*)vpcId
      subnetId:(NSString*)subnetId
      cloudID:(NSString*)cloudID { 
     self.idValue = idValue;               
     self.name = name;               
     self.azs = azs;               
     self.engine = engine;               
     self.engineVersion = engineVersion;               
     self.status = status;               
     self.payType = payType;               
     self.storageGB = storageGB;               
     self.memoryMB = memoryMB;               
     self.instanceType = instanceType;               
     self.instanceClassType = instanceClassType;               
     self.connectionMode = connectionMode;               
     self.connectionString = connectionString;               
     self.instanceCPU = instanceCPU;               
     self.port = port;               
     self.vpcId = vpcId;               
     self.subnetId = subnetId;               
     self.cloudID = cloudID;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self azs])
    {
        [result setValue:[self azs] forKey:@"azs"];
    }
    if([self engine])
    {
        [result setValue:[self engine] forKey:@"engine"];
    }
    if([self engineVersion])
    {
        [result setValue:[self engineVersion] forKey:@"engineVersion"];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    if([self payType])
    {
        [result setValue:[self payType] forKey:@"payType"];
    }
    if([self storageGB])
    {
        [result setValue:[self storageGB] forKey:@"storageGB"];
    }
    if([self memoryMB])
    {
        [result setValue:[self memoryMB] forKey:@"memoryMB"];
    }
    if([self instanceType])
    {
        [result setValue:[self instanceType] forKey:@"instanceType"];
    }
    if([self instanceClassType])
    {
        [result setValue:[self instanceClassType] forKey:@"instanceClassType"];
    }
    if([self connectionMode])
    {
        [result setValue:[self connectionMode] forKey:@"connectionMode"];
    }
    if([self connectionString])
    {
        [result setValue:[self connectionString] forKey:@"connectionString"];
    }
    if([self instanceCPU])
    {
        [result setValue:[self instanceCPU] forKey:@"instanceCPU"];
    }
    if([self port])
    {
        [result setValue:[self port] forKey:@"port"];
    }
    if([self vpcId])
    {
        [result setValue:[self vpcId] forKey:@"vpcId"];
    }
    if([self subnetId])
    {
        [result setValue:[self subnetId] forKey:@"subnetId"];
    }
    if([self cloudID])
    {
        [result setValue:[self cloudID] forKey:@"cloudID"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.idValue = [dictionary objectForKey:@"id"];
    self.name = [dictionary objectForKey:@"name"];
    self.azs = [dictionary objectForKey:@"azs"];
    self.engine = [dictionary objectForKey:@"engine"];
    self.engineVersion = [dictionary objectForKey:@"engineVersion"];
    self.status = [dictionary objectForKey:@"status"];
    self.payType = [dictionary objectForKey:@"payType"];
    self.storageGB = [dictionary objectForKey:@"storageGB"];
    self.memoryMB = [dictionary objectForKey:@"memoryMB"];
    self.instanceType = [dictionary objectForKey:@"instanceType"];
    self.instanceClassType = [dictionary objectForKey:@"instanceClassType"];
    self.connectionMode = [dictionary objectForKey:@"connectionMode"];
    self.connectionString = [dictionary objectForKey:@"connectionString"];
    self.instanceCPU = [dictionary objectForKey:@"instanceCPU"];
    self.port = [dictionary objectForKey:@"port"];
    self.vpcId = [dictionary objectForKey:@"vpcId"];
    self.subnetId = [dictionary objectForKey:@"subnetId"];
    self.cloudID = [dictionary objectForKey:@"cloudID"];
    return self;
}
 @end
@implementation CreateRDSInstance
-(id) initWithId:(NSString*) idValue
      name:(NSString*)name
      payType:(NSString*)payType
      azs:(NSArray<NSString*>*)azs
      engine:(NSString*)engine
      status:(NSString*)status
      instanceType:(NSString*)instanceType
      cloudID:(NSString*)cloudID
      engineVersion:(NSString*)engineVersion
      instanceClass:(NSString*)instanceClass
      storageGB:(NSNumber*)storageGB
      vpcId:(NSString*)vpcId
      subnetId:(NSString*)subnetId
      createTime:(NSString*)createTime { 
     self.idValue = idValue;               
     self.name = name;               
     self.payType = payType;               
     self.azs = azs;               
     self.engine = engine;               
     self.status = status;               
     self.instanceType = instanceType;               
     self.cloudID = cloudID;               
     self.engineVersion = engineVersion;               
     self.instanceClass = instanceClass;               
     self.storageGB = storageGB;               
     self.vpcId = vpcId;               
     self.subnetId = subnetId;               
     self.createTime = createTime;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self payType])
    {
        [result setValue:[self payType] forKey:@"payType"];
    }
    if([self azs])
    {
        [result setValue:[self azs] forKey:@"azs"];
    }
    if([self engine])
    {
        [result setValue:[self engine] forKey:@"engine"];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    if([self instanceType])
    {
        [result setValue:[self instanceType] forKey:@"instanceType"];
    }
    if([self cloudID])
    {
        [result setValue:[self cloudID] forKey:@"cloudID"];
    }
    if([self engineVersion])
    {
        [result setValue:[self engineVersion] forKey:@"engineVersion"];
    }
    if([self instanceClass])
    {
        [result setValue:[self instanceClass] forKey:@"instanceClass"];
    }
    if([self storageGB])
    {
        [result setValue:[self storageGB] forKey:@"storageGB"];
    }
    if([self vpcId])
    {
        [result setValue:[self vpcId] forKey:@"vpcId"];
    }
    if([self subnetId])
    {
        [result setValue:[self subnetId] forKey:@"subnetId"];
    }
    if([self createTime])
    {
        [result setValue:[self createTime] forKey:@"createTime"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.idValue = [dictionary objectForKey:@"id"];
    self.name = [dictionary objectForKey:@"name"];
    self.payType = [dictionary objectForKey:@"payType"];
    self.azs = [dictionary objectForKey:@"azs"];
    self.engine = [dictionary objectForKey:@"engine"];
    self.status = [dictionary objectForKey:@"status"];
    self.instanceType = [dictionary objectForKey:@"instanceType"];
    self.cloudID = [dictionary objectForKey:@"cloudID"];
    self.engineVersion = [dictionary objectForKey:@"engineVersion"];
    self.instanceClass = [dictionary objectForKey:@"instanceClass"];
    self.storageGB = [dictionary objectForKey:@"storageGB"];
    self.vpcId = [dictionary objectForKey:@"vpcId"];
    self.subnetId = [dictionary objectForKey:@"subnetId"];
    self.createTime = [dictionary objectForKey:@"createTime"];
    return self;
}
 @end
@implementation CreateSgRule
-(id) initWithRuleType:(NSString*) ruleType
      protocol:(NSString*)protocol
      fromPort:(NSNumber*)fromPort
      toPort:(NSNumber*)toPort
      securityGroupId:(NSString*)securityGroupId
      nicType:(NSString*)nicType
      policy:(NSString*)policy
      priority:(NSNumber*)priority
      cidrIp:(NSString*)cidrIp { 
     self.ruleType = ruleType;               
     self.protocol = protocol;               
     self.fromPort = fromPort;               
     self.toPort = toPort;               
     self.securityGroupId = securityGroupId;               
     self.nicType = nicType;               
     self.policy = policy;               
     self.priority = priority;               
     self.cidrIp = cidrIp;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self ruleType])
    {
        [result setValue:[self ruleType] forKey:@"ruleType"];
    }
    if([self protocol])
    {
        [result setValue:[self protocol] forKey:@"protocol"];
    }
    if([self fromPort])
    {
        [result setValue:[self fromPort] forKey:@"fromPort"];
    }
    if([self toPort])
    {
        [result setValue:[self toPort] forKey:@"toPort"];
    }
    if([self securityGroupId])
    {
        [result setValue:[self securityGroupId] forKey:@"securityGroupId"];
    }
    if([self nicType])
    {
        [result setValue:[self nicType] forKey:@"nicType"];
    }
    if([self policy])
    {
        [result setValue:[self policy] forKey:@"policy"];
    }
    if([self priority])
    {
        [result setValue:[self priority] forKey:@"priority"];
    }
    if([self cidrIp])
    {
        [result setValue:[self cidrIp] forKey:@"cidrIp"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.ruleType = [dictionary objectForKey:@"ruleType"];
    self.protocol = [dictionary objectForKey:@"protocol"];
    self.fromPort = [dictionary objectForKey:@"fromPort"];
    self.toPort = [dictionary objectForKey:@"toPort"];
    self.securityGroupId = [dictionary objectForKey:@"securityGroupId"];
    self.nicType = [dictionary objectForKey:@"nicType"];
    self.policy = [dictionary objectForKey:@"policy"];
    self.priority = [dictionary objectForKey:@"priority"];
    self.cidrIp = [dictionary objectForKey:@"cidrIp"];
    return self;
}
 @end
@implementation DeploymentAttachDisk
-(id) initWithDiskId:(NSString*) diskId
      instanceId:(NSString*)instanceId { 
     self.diskId = diskId;               
     self.instanceId = instanceId;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self diskId])
    {
        [result setValue:[self diskId] forKey:@"diskId"];
    }
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.diskId = [dictionary objectForKey:@"diskId"];
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    return self;
}
 @end
@implementation DeploymentBucket
-(id) initWithName:(NSString*) name
      acl:(NSString*)acl { 
     self.name = name;               
     self.acl = acl;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self acl])
    {
        [result setValue:[self acl] forKey:@"acl"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.name = [dictionary objectForKey:@"name"];
    self.acl = [dictionary objectForKey:@"acl"];
    return self;
}
 @end
@implementation Apply
-(id) initWithComment:(NSString*) comment { 
     self.comment = comment;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self comment])
    {
        [result setValue:[self comment] forKey:@"comment"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.comment = [dictionary objectForKey:@"comment"];
    return self;
}
 @end
@implementation BackendServer
-(id) initWithCloudID:(NSString*) cloudID
      serverId:(NSString*)serverId
      serverHealthStatus:(NSString*)serverHealthStatus
      port:(NSNumber*)port
      weight:(NSNumber*)weight
      type:(NSString*)type { 
     self.cloudID = cloudID;               
     self.serverId = serverId;               
     self.serverHealthStatus = serverHealthStatus;               
     self.port = port;               
     self.weight = weight;               
     self.type = type;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self cloudID])
    {
        [result setValue:[self cloudID] forKey:@"cloudID"];
    }
    if([self serverId])
    {
        [result setValue:[self serverId] forKey:@"serverId"];
    }
    if([self serverHealthStatus])
    {
        [result setValue:[self serverHealthStatus] forKey:@"serverHealthStatus"];
    }
    if([self port])
    {
        [result setValue:[self port] forKey:@"port"];
    }
    if([self weight])
    {
        [result setValue:[self weight] forKey:@"weight"];
    }
    if([self type])
    {
        [result setValue:[self type] forKey:@"type"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.cloudID = [dictionary objectForKey:@"cloudID"];
    self.serverId = [dictionary objectForKey:@"serverId"];
    self.serverHealthStatus = [dictionary objectForKey:@"serverHealthStatus"];
    self.port = [dictionary objectForKey:@"port"];
    self.weight = [dictionary objectForKey:@"weight"];
    self.type = [dictionary objectForKey:@"type"];
    return self;
}
 @end
@implementation CreateSecurityGroup
-(id) initWithCloudID:(NSString*) cloudID
      idValue:(NSString*)idValue
      name:(NSString*)name
      descriptionValue:(NSString*)descriptionValue
      vpcId:(NSString*)vpcId
      createdTime:(NSString*)createdTime { 
     self.cloudID = cloudID;               
     self.idValue = idValue;               
     self.name = name;               
     self.descriptionValue = descriptionValue;               
     self.vpcId = vpcId;               
     self.createdTime = createdTime;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self cloudID])
    {
        [result setValue:[self cloudID] forKey:@"cloudID"];
    }
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self vpcId])
    {
        [result setValue:[self vpcId] forKey:@"vpcId"];
    }
    if([self createdTime])
    {
        [result setValue:[self createdTime] forKey:@"createdTime"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.cloudID = [dictionary objectForKey:@"cloudID"];
    self.idValue = [dictionary objectForKey:@"id"];
    self.name = [dictionary objectForKey:@"name"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.vpcId = [dictionary objectForKey:@"vpcId"];
    self.createdTime = [dictionary objectForKey:@"createdTime"];
    return self;
}
 @end
@implementation CreateKeypair
-(id) initWithName:(NSString*) name
      keyFingerprint:(NSString*)keyFingerprint
      cloudID:(NSString*)cloudID
      publicKey:(NSString*)publicKey { 
     self.name = name;               
     self.keyFingerprint = keyFingerprint;               
     self.cloudID = cloudID;               
     self.publicKey = publicKey;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self keyFingerprint])
    {
        [result setValue:[self keyFingerprint] forKey:@"keyFingerprint"];
    }
    if([self cloudID])
    {
        [result setValue:[self cloudID] forKey:@"cloudID"];
    }
    if([self publicKey])
    {
        [result setValue:[self publicKey] forKey:@"publicKey"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.name = [dictionary objectForKey:@"name"];
    self.keyFingerprint = [dictionary objectForKey:@"keyFingerprint"];
    self.cloudID = [dictionary objectForKey:@"cloudID"];
    self.publicKey = [dictionary objectForKey:@"publicKey"];
    return self;
}
 @end
@implementation CreateLoadBalancerHTTPListener
-(id) initWithLoadBalancerId:(NSString*) loadBalancerId
      listenerPort:(NSNumber*)listenerPort
      backendServerPort:(NSNumber*)backendServerPort
      vserverGroupId:(NSString*)vserverGroupId
      bandwidth:(NSNumber*)bandwidth
      healthCheckConnectPort:(NSNumber*)healthCheckConnectPort
      healthyThreshold:(NSNumber*)healthyThreshold
      unhealthyThreshold:(NSNumber*)unhealthyThreshold
      healthCheckTimeout:(NSNumber*)healthCheckTimeout
      healthCheckInterval:(NSNumber*)healthCheckInterval
      healthCheckHttpCode:(NSString*)healthCheckHttpCode { 
     self.loadBalancerId = loadBalancerId;               
     self.listenerPort = listenerPort;               
     self.backendServerPort = backendServerPort;               
     self.vserverGroupId = vserverGroupId;               
     self.bandwidth = bandwidth;               
     self.healthCheckConnectPort = healthCheckConnectPort;               
     self.healthyThreshold = healthyThreshold;               
     self.unhealthyThreshold = unhealthyThreshold;               
     self.healthCheckTimeout = healthCheckTimeout;               
     self.healthCheckInterval = healthCheckInterval;               
     self.healthCheckHttpCode = healthCheckHttpCode;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self loadBalancerId])
    {
        [result setValue:[self loadBalancerId] forKey:@"loadBalancerId"];
    }
    if([self listenerPort])
    {
        [result setValue:[self listenerPort] forKey:@"listenerPort"];
    }
    if([self backendServerPort])
    {
        [result setValue:[self backendServerPort] forKey:@"backendServerPort"];
    }
    if([self vserverGroupId])
    {
        [result setValue:[self vserverGroupId] forKey:@"vserverGroupId"];
    }
    if([self bandwidth])
    {
        [result setValue:[self bandwidth] forKey:@"bandwidth"];
    }
    if([self healthCheckConnectPort])
    {
        [result setValue:[self healthCheckConnectPort] forKey:@"healthCheckConnectPort"];
    }
    if([self healthyThreshold])
    {
        [result setValue:[self healthyThreshold] forKey:@"healthyThreshold"];
    }
    if([self unhealthyThreshold])
    {
        [result setValue:[self unhealthyThreshold] forKey:@"unhealthyThreshold"];
    }
    if([self healthCheckTimeout])
    {
        [result setValue:[self healthCheckTimeout] forKey:@"healthCheckTimeout"];
    }
    if([self healthCheckInterval])
    {
        [result setValue:[self healthCheckInterval] forKey:@"healthCheckInterval"];
    }
    if([self healthCheckHttpCode])
    {
        [result setValue:[self healthCheckHttpCode] forKey:@"healthCheckHttpCode"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.loadBalancerId = [dictionary objectForKey:@"loadBalancerId"];
    self.listenerPort = [dictionary objectForKey:@"listenerPort"];
    self.backendServerPort = [dictionary objectForKey:@"backendServerPort"];
    self.vserverGroupId = [dictionary objectForKey:@"vserverGroupId"];
    self.bandwidth = [dictionary objectForKey:@"bandwidth"];
    self.healthCheckConnectPort = [dictionary objectForKey:@"healthCheckConnectPort"];
    self.healthyThreshold = [dictionary objectForKey:@"healthyThreshold"];
    self.unhealthyThreshold = [dictionary objectForKey:@"unhealthyThreshold"];
    self.healthCheckTimeout = [dictionary objectForKey:@"healthCheckTimeout"];
    self.healthCheckInterval = [dictionary objectForKey:@"healthCheckInterval"];
    self.healthCheckHttpCode = [dictionary objectForKey:@"healthCheckHttpCode"];
    return self;
}
 @end
@implementation DeploymentRdsAccount
-(id) initWithInstId:(NSString*) instId
      name:(NSString*)name
      password:(NSString*)password { 
     self.instId = instId;               
     self.name = name;               
     self.password = password;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self instId])
    {
        [result setValue:[self instId] forKey:@"instId"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self password])
    {
        [result setValue:[self password] forKey:@"password"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.instId = [dictionary objectForKey:@"instId"];
    self.name = [dictionary objectForKey:@"name"];
    self.password = [dictionary objectForKey:@"password"];
    return self;
}
 @end
@implementation DeploymentAttachNetInterface
-(id) initWithInterfaceId:(NSString*) interfaceId
      instanceId:(NSString*)instanceId { 
     self.interfaceId = interfaceId;               
     self.instanceId = instanceId;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self interfaceId])
    {
        [result setValue:[self interfaceId] forKey:@"interfaceId"];
    }
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.interfaceId = [dictionary objectForKey:@"interfaceId"];
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    return self;
}
 @end
@implementation DeploymentRdsDatabase
-(id) initWithInstId:(NSString*) instId
      name:(NSString*)name
      characterSetName:(NSString*)characterSetName { 
     self.instId = instId;               
     self.name = name;               
     self.characterSetName = characterSetName;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self instId])
    {
        [result setValue:[self instId] forKey:@"instId"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self characterSetName])
    {
        [result setValue:[self characterSetName] forKey:@"characterSetName"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.instId = [dictionary objectForKey:@"instId"];
    self.name = [dictionary objectForKey:@"name"];
    self.characterSetName = [dictionary objectForKey:@"characterSetName"];
    return self;
}
 @end
@implementation CreateNetInterface
-(id) initWithId:(NSString*) idValue
      name:(NSString*)name
      descriptionValue:(NSString*)descriptionValue
      vpcId:(NSString*)vpcId
      type:(NSString*)type
      subnetId:(NSString*)subnetId
      az:(NSString*)az
      associatedPublicIp:(NSString*)associatedPublicIp
      privateIpAddress:(NSString*)privateIpAddress
      macAddress:(NSString*)macAddress
      instanceId:(NSString*)instanceId
      createdTime:(NSString*)createdTime
      cloudID:(NSString*)cloudID
      securityGroupId:(NSString*)securityGroupId { 
     self.idValue = idValue;               
     self.name = name;               
     self.descriptionValue = descriptionValue;               
     self.vpcId = vpcId;               
     self.type = type;               
     self.subnetId = subnetId;               
     self.az = az;               
     self.associatedPublicIp = associatedPublicIp;               
     self.privateIpAddress = privateIpAddress;               
     self.macAddress = macAddress;               
     self.instanceId = instanceId;               
     self.createdTime = createdTime;               
     self.cloudID = cloudID;               
     self.securityGroupId = securityGroupId;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self vpcId])
    {
        [result setValue:[self vpcId] forKey:@"vpcId"];
    }
    if([self type])
    {
        [result setValue:[self type] forKey:@"type"];
    }
    if([self subnetId])
    {
        [result setValue:[self subnetId] forKey:@"subnetId"];
    }
    if([self az])
    {
        [result setValue:[self az] forKey:@"az"];
    }
    if([self associatedPublicIp])
    {
        [result setValue:[self associatedPublicIp] forKey:@"associatedPublicIp"];
    }
    if([self privateIpAddress])
    {
        [result setValue:[self privateIpAddress] forKey:@"privateIpAddress"];
    }
    if([self macAddress])
    {
        [result setValue:[self macAddress] forKey:@"macAddress"];
    }
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    if([self createdTime])
    {
        [result setValue:[self createdTime] forKey:@"createdTime"];
    }
    if([self cloudID])
    {
        [result setValue:[self cloudID] forKey:@"cloudID"];
    }
    if([self securityGroupId])
    {
        [result setValue:[self securityGroupId] forKey:@"securityGroupId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.idValue = [dictionary objectForKey:@"id"];
    self.name = [dictionary objectForKey:@"name"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.vpcId = [dictionary objectForKey:@"vpcId"];
    self.type = [dictionary objectForKey:@"type"];
    self.subnetId = [dictionary objectForKey:@"subnetId"];
    self.az = [dictionary objectForKey:@"az"];
    self.associatedPublicIp = [dictionary objectForKey:@"associatedPublicIp"];
    self.privateIpAddress = [dictionary objectForKey:@"privateIpAddress"];
    self.macAddress = [dictionary objectForKey:@"macAddress"];
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    self.createdTime = [dictionary objectForKey:@"createdTime"];
    self.cloudID = [dictionary objectForKey:@"cloudID"];
    self.securityGroupId = [dictionary objectForKey:@"securityGroupId"];
    return self;
}
 @end
@implementation ArrayDiskAttachment
-(id) initWithInstanceId:(NSString*) instanceId { 
     self.instanceId = instanceId;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    return self;
}
 @end
@implementation DeploymentBaseInfo
-(id) initWithCloudId:(NSString*) cloudId
      version:(NSString*)version
      readOnly:(NSNumber*)readOnly
      idValue:(NSString*)idValue
      name:(NSString*)name
      descriptionValue:(NSString*)descriptionValue
      userId:(NSString*)userId
      createdTime:(NSString*)createdTime
      updatedTime:(NSString*)updatedTime
      lastOperation:(NSString*)lastOperation { 
     self.cloudId = cloudId;               
     self.version = version;               
     self.readOnly = readOnly;               
     self.idValue = idValue;               
     self.name = name;               
     self.descriptionValue = descriptionValue;               
     self.userId = userId;               
     self.createdTime = createdTime;               
     self.updatedTime = updatedTime;               
     self.lastOperation = lastOperation;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self cloudId])
    {
        [result setValue:[self cloudId] forKey:@"cloudId"];
    }
    if([self version])
    {
        [result setValue:[self version] forKey:@"version"];
    }
    if([self readOnly])
    {
        [result setValue:[self readOnly] forKey:@"readOnly"];
    }
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self userId])
    {
        [result setValue:[self userId] forKey:@"userId"];
    }
    if([self createdTime])
    {
        [result setValue:[self createdTime] forKey:@"createdTime"];
    }
    if([self updatedTime])
    {
        [result setValue:[self updatedTime] forKey:@"updatedTime"];
    }
    if([self lastOperation])
    {
        [result setValue:[self lastOperation] forKey:@"lastOperation"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.cloudId = [dictionary objectForKey:@"cloudId"];
    self.version = [dictionary objectForKey:@"version"];
    self.readOnly = [dictionary objectForKey:@"readOnly"];
    self.idValue = [dictionary objectForKey:@"id"];
    self.name = [dictionary objectForKey:@"name"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.userId = [dictionary objectForKey:@"userId"];
    self.createdTime = [dictionary objectForKey:@"createdTime"];
    self.updatedTime = [dictionary objectForKey:@"updatedTime"];
    self.lastOperation = [dictionary objectForKey:@"lastOperation"];
    return self;
}
 @end
@implementation AllocateEipAddress
-(id) initWithName:(NSString*) name
      bandwidth:(NSString*)bandwidth
      provider:(NSString*)provider { 
     self.name = name;               
     self.bandwidth = bandwidth;               
     self.provider = provider;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self bandwidth])
    {
        [result setValue:[self bandwidth] forKey:@"bandwidth"];
    }
    if([self provider])
    {
        [result setValue:[self provider] forKey:@"provider"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.name = [dictionary objectForKey:@"name"];
    self.bandwidth = [dictionary objectForKey:@"bandwidth"];
    self.provider = [dictionary objectForKey:@"provider"];
    return self;
}
 @end
@implementation DeploymentAssociateEip
-(id) initWithEipId:(NSString*) eipId
      instanceId:(NSString*)instanceId
      instanceType:(NSString*)instanceType { 
     self.eipId = eipId;               
     self.instanceId = instanceId;               
     self.instanceType = instanceType;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self eipId])
    {
        [result setValue:[self eipId] forKey:@"eipId"];
    }
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    if([self instanceType])
    {
        [result setValue:[self instanceType] forKey:@"instanceType"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.eipId = [dictionary objectForKey:@"eipId"];
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    self.instanceType = [dictionary objectForKey:@"instanceType"];
    return self;
}
 @end
@implementation SlbInfo
-(id) initWithCloudID:(NSString*) cloudID
      idValue:(NSString*)idValue
      name:(NSString*)name
      status:(NSString*)status
      ipAddress:(NSString*)ipAddress
      addressType:(NSString*)addressType
      subnetId:(NSString*)subnetId
      vpc:(NSString*)vpc
      networkType:(NSString*)networkType
      azs:(NSArray<NSString*>*)azs
      createdTime:(NSString*)createdTime { 
     self.cloudID = cloudID;               
     self.idValue = idValue;               
     self.name = name;               
     self.status = status;               
     self.ipAddress = ipAddress;               
     self.addressType = addressType;               
     self.subnetId = subnetId;               
     self.vpc = vpc;               
     self.networkType = networkType;               
     self.azs = azs;               
     self.createdTime = createdTime;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self cloudID])
    {
        [result setValue:[self cloudID] forKey:@"cloudID"];
    }
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    if([self ipAddress])
    {
        [result setValue:[self ipAddress] forKey:@"ipAddress"];
    }
    if([self addressType])
    {
        [result setValue:[self addressType] forKey:@"addressType"];
    }
    if([self subnetId])
    {
        [result setValue:[self subnetId] forKey:@"subnetId"];
    }
    if([self vpc])
    {
        [result setValue:[self vpc] forKey:@"vpc"];
    }
    if([self networkType])
    {
        [result setValue:[self networkType] forKey:@"networkType"];
    }
    if([self azs])
    {
        [result setValue:[self azs] forKey:@"azs"];
    }
    if([self createdTime])
    {
        [result setValue:[self createdTime] forKey:@"createdTime"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.cloudID = [dictionary objectForKey:@"cloudID"];
    self.idValue = [dictionary objectForKey:@"id"];
    self.name = [dictionary objectForKey:@"name"];
    self.status = [dictionary objectForKey:@"status"];
    self.ipAddress = [dictionary objectForKey:@"ipAddress"];
    self.addressType = [dictionary objectForKey:@"addressType"];
    self.subnetId = [dictionary objectForKey:@"subnetId"];
    self.vpc = [dictionary objectForKey:@"vpc"];
    self.networkType = [dictionary objectForKey:@"networkType"];
    self.azs = [dictionary objectForKey:@"azs"];
    self.createdTime = [dictionary objectForKey:@"createdTime"];
    return self;
}
 @end
@implementation DeploymentAccountGrant
-(id) initWithInstId:(NSString*) instId
      accountName:(NSString*)accountName
      dbName:(NSString*)dbName
      privilege:(NSString*)privilege { 
     self.instId = instId;               
     self.accountName = accountName;               
     self.dbName = dbName;               
     self.privilege = privilege;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self instId])
    {
        [result setValue:[self instId] forKey:@"instId"];
    }
    if([self accountName])
    {
        [result setValue:[self accountName] forKey:@"accountName"];
    }
    if([self dbName])
    {
        [result setValue:[self dbName] forKey:@"dbName"];
    }
    if([self privilege])
    {
        [result setValue:[self privilege] forKey:@"privilege"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.instId = [dictionary objectForKey:@"instId"];
    self.accountName = [dictionary objectForKey:@"accountName"];
    self.dbName = [dictionary objectForKey:@"dbName"];
    self.privilege = [dictionary objectForKey:@"privilege"];
    return self;
}
 @end
@implementation Deployment
-(id) initWithName:(NSString*) name { 
     self.name = name;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.name = [dictionary objectForKey:@"name"];
    return self;
}
 @end
@implementation ReverseDeploymentResourcesInfo
-(id) initWithVmIds:(NSMutableDictionary<NSString*,NSString*>*) vmIds
      eipIds:(NSMutableDictionary<NSString*,NSString*>*)eipIds
      subnetIds:(NSMutableDictionary<NSString*,NSString*>*)subnetIds
      networkInterfaceIds:(NSMutableDictionary<NSString*,NSString*>*)networkInterfaceIds
      slbIds:(NSMutableDictionary<NSString*,NSString*>*)slbIds
      securityGroupIds:(NSMutableDictionary<NSString*,NSString*>*)securityGroupIds
      keypairIds:(NSMutableDictionary<NSString*,NSString*>*)keypairIds
      diskIds:(NSMutableDictionary<NSString*,NSString*>*)diskIds
      vpcIds:(NSMutableDictionary<NSString*,NSString*>*)vpcIds
      vserverGroupIds:(NSMutableDictionary<NSString*,NSString*>*)vserverGroupIds
      httpListenerIds:(NSMutableDictionary<NSString*,NSString*>*)httpListenerIds
      diskAttachmentIds:(NSMutableDictionary<NSString*,NSString*>*)diskAttachmentIds
      netInterfaceAttachmentIds:(NSMutableDictionary<NSString*,NSString*>*)netInterfaceAttachmentIds
      eipAssociateIds:(NSMutableDictionary<NSString*,NSString*>*)eipAssociateIds { 
     self.vmIds = vmIds;               
     self.eipIds = eipIds;               
     self.subnetIds = subnetIds;               
     self.networkInterfaceIds = networkInterfaceIds;               
     self.slbIds = slbIds;               
     self.securityGroupIds = securityGroupIds;               
     self.keypairIds = keypairIds;               
     self.diskIds = diskIds;               
     self.vpcIds = vpcIds;               
     self.vserverGroupIds = vserverGroupIds;               
     self.httpListenerIds = httpListenerIds;               
     self.diskAttachmentIds = diskAttachmentIds;               
     self.netInterfaceAttachmentIds = netInterfaceAttachmentIds;               
     self.eipAssociateIds = eipAssociateIds;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self vmIds])
    {
        [result setValue:[self vmIds] forKey:@"vmIds"];
    }
    if([self eipIds])
    {
        [result setValue:[self eipIds] forKey:@"eipIds"];
    }
    if([self subnetIds])
    {
        [result setValue:[self subnetIds] forKey:@"subnetIds"];
    }
    if([self networkInterfaceIds])
    {
        [result setValue:[self networkInterfaceIds] forKey:@"networkInterfaceIds"];
    }
    if([self slbIds])
    {
        [result setValue:[self slbIds] forKey:@"slbIds"];
    }
    if([self securityGroupIds])
    {
        [result setValue:[self securityGroupIds] forKey:@"securityGroupIds"];
    }
    if([self keypairIds])
    {
        [result setValue:[self keypairIds] forKey:@"keypairIds"];
    }
    if([self diskIds])
    {
        [result setValue:[self diskIds] forKey:@"diskIds"];
    }
    if([self vpcIds])
    {
        [result setValue:[self vpcIds] forKey:@"vpcIds"];
    }
    if([self vserverGroupIds])
    {
        [result setValue:[self vserverGroupIds] forKey:@"vserverGroupIds"];
    }
    if([self httpListenerIds])
    {
        [result setValue:[self httpListenerIds] forKey:@"httpListenerIds"];
    }
    if([self diskAttachmentIds])
    {
        [result setValue:[self diskAttachmentIds] forKey:@"diskAttachmentIds"];
    }
    if([self netInterfaceAttachmentIds])
    {
        [result setValue:[self netInterfaceAttachmentIds] forKey:@"netInterfaceAttachmentIds"];
    }
    if([self eipAssociateIds])
    {
        [result setValue:[self eipAssociateIds] forKey:@"eipAssociateIds"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.vmIds = [dictionary objectForKey:@"vmIds"];
    self.eipIds = [dictionary objectForKey:@"eipIds"];
    self.subnetIds = [dictionary objectForKey:@"subnetIds"];
    self.networkInterfaceIds = [dictionary objectForKey:@"networkInterfaceIds"];
    self.slbIds = [dictionary objectForKey:@"slbIds"];
    self.securityGroupIds = [dictionary objectForKey:@"securityGroupIds"];
    self.keypairIds = [dictionary objectForKey:@"keypairIds"];
    self.diskIds = [dictionary objectForKey:@"diskIds"];
    self.vpcIds = [dictionary objectForKey:@"vpcIds"];
    self.vserverGroupIds = [dictionary objectForKey:@"vserverGroupIds"];
    self.httpListenerIds = [dictionary objectForKey:@"httpListenerIds"];
    self.diskAttachmentIds = [dictionary objectForKey:@"diskAttachmentIds"];
    self.netInterfaceAttachmentIds = [dictionary objectForKey:@"netInterfaceAttachmentIds"];
    self.eipAssociateIds = [dictionary objectForKey:@"eipAssociateIds"];
    return self;
}
 @end
@implementation KeypairInfo
-(id) initWithName:(NSString*) name
      keyFingerprint:(NSString*)keyFingerprint
      cloudID:(NSString*)cloudID { 
     self.name = name;               
     self.keyFingerprint = keyFingerprint;               
     self.cloudID = cloudID;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self keyFingerprint])
    {
        [result setValue:[self keyFingerprint] forKey:@"keyFingerprint"];
    }
    if([self cloudID])
    {
        [result setValue:[self cloudID] forKey:@"cloudID"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.name = [dictionary objectForKey:@"name"];
    self.keyFingerprint = [dictionary objectForKey:@"keyFingerprint"];
    self.cloudID = [dictionary objectForKey:@"cloudID"];
    return self;
}
 @end
@implementation TaskAddressInfo
-(id) initWithStorageType:(NSString*) storageType
      accessKey:(NSString*)accessKey
      secretKey:(NSString*)secretKey
      endpoint:(NSString*)endpoint
      bucket:(NSString*)bucket
      prefix:(NSString*)prefix
      cloudID:(NSString*)cloudID { 
     self.storageType = storageType;               
     self.accessKey = accessKey;               
     self.secretKey = secretKey;               
     self.endpoint = endpoint;               
     self.bucket = bucket;               
     self.prefix = prefix;               
     self.cloudID = cloudID;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self storageType])
    {
        [result setValue:[self storageType] forKey:@"storageType"];
    }
    if([self accessKey])
    {
        [result setValue:[self accessKey] forKey:@"accessKey"];
    }
    if([self secretKey])
    {
        [result setValue:[self secretKey] forKey:@"secretKey"];
    }
    if([self endpoint])
    {
        [result setValue:[self endpoint] forKey:@"endpoint"];
    }
    if([self bucket])
    {
        [result setValue:[self bucket] forKey:@"bucket"];
    }
    if([self prefix])
    {
        [result setValue:[self prefix] forKey:@"prefix"];
    }
    if([self cloudID])
    {
        [result setValue:[self cloudID] forKey:@"cloudID"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.storageType = [dictionary objectForKey:@"storageType"];
    self.accessKey = [dictionary objectForKey:@"accessKey"];
    self.secretKey = [dictionary objectForKey:@"secretKey"];
    self.endpoint = [dictionary objectForKey:@"endpoint"];
    self.bucket = [dictionary objectForKey:@"bucket"];
    self.prefix = [dictionary objectForKey:@"prefix"];
    self.cloudID = [dictionary objectForKey:@"cloudID"];
    return self;
}
 @end
@implementation SimpleTaskAddressInfo
-(id) initWithCloudID:(NSString*) cloudID
      bucket:(NSString*)bucket
      prefix:(NSString*)prefix { 
     self.cloudID = cloudID;               
     self.bucket = bucket;               
     self.prefix = prefix;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self cloudID])
    {
        [result setValue:[self cloudID] forKey:@"cloudID"];
    }
    if([self bucket])
    {
        [result setValue:[self bucket] forKey:@"bucket"];
    }
    if([self prefix])
    {
        [result setValue:[self prefix] forKey:@"prefix"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.cloudID = [dictionary objectForKey:@"cloudID"];
    self.bucket = [dictionary objectForKey:@"bucket"];
    self.prefix = [dictionary objectForKey:@"prefix"];
    return self;
}
 @end
@implementation TransferTaskFailedFileInfo
-(id) initWithPath:(NSString*) path { 
     self.path = path;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self path])
    {
        [result setValue:[self path] forKey:@"path"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.path = [dictionary objectForKey:@"path"];
    return self;
}
 @end
@implementation ReturnErrorInfo
-(id) initWithCode:(NSString*) code
      msg:(NSString*)msg
      httpStatus:(NSNumber*)httpStatus
      payloadInfo:(NSObject*)payloadInfo { 
     self.code = code;               
     self.msg = msg;               
     self.httpStatus = httpStatus;               
     self.payloadInfo = payloadInfo;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self code])
    {
        [result setValue:[self code] forKey:@"code"];
    }
    if([self msg])
    {
        [result setValue:[self msg] forKey:@"msg"];
    }
    if([self httpStatus])
    {
        [result setValue:[self httpStatus] forKey:@"httpStatus"];
    }
    if([self payloadInfo])
    {
        [result setValue:[self payloadInfo] forKey:@"payloadInfo"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.code = [dictionary objectForKey:@"code"];
    self.msg = [dictionary objectForKey:@"msg"];
    self.httpStatus = [dictionary objectForKey:@"httpStatus"];
    self.payloadInfo = [dictionary objectForKey:@"payloadInfo"];
    return self;
}
 @end
@implementation TransferTaskProgressInfo
-(id) initWithId:(NSString*) idValue
      status:(NSString*)status
      timeStart:(NSString*)timeStart
      succeedFileCount:(NSString*)succeedFileCount
      failedFileCount:(NSString*)failedFileCount { 
     self.idValue = idValue;               
     self.status = status;               
     self.timeStart = timeStart;               
     self.succeedFileCount = succeedFileCount;               
     self.failedFileCount = failedFileCount;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    if([self timeStart])
    {
        [result setValue:[self timeStart] forKey:@"timeStart"];
    }
    if([self succeedFileCount])
    {
        [result setValue:[self succeedFileCount] forKey:@"succeedFileCount"];
    }
    if([self failedFileCount])
    {
        [result setValue:[self failedFileCount] forKey:@"failedFileCount"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.idValue = [dictionary objectForKey:@"id"];
    self.status = [dictionary objectForKey:@"status"];
    self.timeStart = [dictionary objectForKey:@"timeStart"];
    self.succeedFileCount = [dictionary objectForKey:@"succeedFileCount"];
    self.failedFileCount = [dictionary objectForKey:@"failedFileCount"];
    return self;
}
 @end
@implementation CreateOSSBucket
-(id) initWithName:(NSString*) name
      creationDate:(NSString*)creationDate
      cloudID:(NSString*)cloudID
      acl:(NSString*)acl { 
     self.name = name;               
     self.creationDate = creationDate;               
     self.cloudID = cloudID;               
     self.acl = acl;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self creationDate])
    {
        [result setValue:[self creationDate] forKey:@"creationDate"];
    }
    if([self cloudID])
    {
        [result setValue:[self cloudID] forKey:@"cloudID"];
    }
    if([self acl])
    {
        [result setValue:[self acl] forKey:@"acl"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.name = [dictionary objectForKey:@"name"];
    self.creationDate = [dictionary objectForKey:@"creationDate"];
    self.cloudID = [dictionary objectForKey:@"cloudID"];
    self.acl = [dictionary objectForKey:@"acl"];
    return self;
}
 @end
@implementation OssBucketDetailInfo
-(id) initWithName:(NSString*) name
      acl:(NSString*)acl
      intranetEndpoint:(NSString*)intranetEndpoint
      extranetEndpoint:(NSString*)extranetEndpoint
      creationDate:(NSString*)creationDate
      cloudID:(NSString*)cloudID { 
     self.name = name;               
     self.acl = acl;               
     self.intranetEndpoint = intranetEndpoint;               
     self.extranetEndpoint = extranetEndpoint;               
     self.creationDate = creationDate;               
     self.cloudID = cloudID;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self acl])
    {
        [result setValue:[self acl] forKey:@"acl"];
    }
    if([self intranetEndpoint])
    {
        [result setValue:[self intranetEndpoint] forKey:@"intranetEndpoint"];
    }
    if([self extranetEndpoint])
    {
        [result setValue:[self extranetEndpoint] forKey:@"extranetEndpoint"];
    }
    if([self creationDate])
    {
        [result setValue:[self creationDate] forKey:@"creationDate"];
    }
    if([self cloudID])
    {
        [result setValue:[self cloudID] forKey:@"cloudID"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.name = [dictionary objectForKey:@"name"];
    self.acl = [dictionary objectForKey:@"acl"];
    self.intranetEndpoint = [dictionary objectForKey:@"intranetEndpoint"];
    self.extranetEndpoint = [dictionary objectForKey:@"extranetEndpoint"];
    self.creationDate = [dictionary objectForKey:@"creationDate"];
    self.cloudID = [dictionary objectForKey:@"cloudID"];
    return self;
}
 @end
@implementation OssFileInfo
-(id) initWithBucketName:(NSString*) bucketName
      key:(NSString*)key
      size:(NSNumber*)size
      lastModifiedTime:(NSString*)lastModifiedTime
      storageClass:(NSString*)storageClass { 
     self.bucketName = bucketName;               
     self.key = key;               
     self.size = size;               
     self.lastModifiedTime = lastModifiedTime;               
     self.storageClass = storageClass;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self bucketName])
    {
        [result setValue:[self bucketName] forKey:@"bucketName"];
    }
    if([self key])
    {
        [result setValue:[self key] forKey:@"key"];
    }
    if([self size])
    {
        [result setValue:[self size] forKey:@"size"];
    }
    if([self lastModifiedTime])
    {
        [result setValue:[self lastModifiedTime] forKey:@"lastModifiedTime"];
    }
    if([self storageClass])
    {
        [result setValue:[self storageClass] forKey:@"storageClass"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.bucketName = [dictionary objectForKey:@"bucketName"];
    self.key = [dictionary objectForKey:@"key"];
    self.size = [dictionary objectForKey:@"size"];
    self.lastModifiedTime = [dictionary objectForKey:@"lastModifiedTime"];
    self.storageClass = [dictionary objectForKey:@"storageClass"];
    return self;
}
 @end
@implementation OssBucketInfo
-(id) initWithName:(NSString*) name
      creationDate:(NSString*)creationDate
      cloudID:(NSString*)cloudID { 
     self.name = name;               
     self.creationDate = creationDate;               
     self.cloudID = cloudID;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self creationDate])
    {
        [result setValue:[self creationDate] forKey:@"creationDate"];
    }
    if([self cloudID])
    {
        [result setValue:[self cloudID] forKey:@"cloudID"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.name = [dictionary objectForKey:@"name"];
    self.creationDate = [dictionary objectForKey:@"creationDate"];
    self.cloudID = [dictionary objectForKey:@"cloudID"];
    return self;
}
 @end
@implementation ChannelBaseInfo
-(id) initWithId:(NSString*) idValue
      name:(NSString*)name
      descriptionValue:(NSString*)descriptionValue
      status:(NSString*)status { 
     self.idValue = idValue;               
     self.name = name;               
     self.descriptionValue = descriptionValue;               
     self.status = status;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.idValue = [dictionary objectForKey:@"id"];
    self.name = [dictionary objectForKey:@"name"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.status = [dictionary objectForKey:@"status"];
    return self;
}
 @end
@implementation DatasourceInfo
-(id) initWithId:(NSString*) idValue
      address:(NSString*)address
      port:(NSNumber*)port
      username:(NSString*)username
      password:(NSString*)password { 
     self.idValue = idValue;               
     self.address = address;               
     self.port = port;               
     self.username = username;               
     self.password = password;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    if([self address])
    {
        [result setValue:[self address] forKey:@"address"];
    }
    if([self port])
    {
        [result setValue:[self port] forKey:@"port"];
    }
    if([self username])
    {
        [result setValue:[self username] forKey:@"username"];
    }
    if([self password])
    {
        [result setValue:[self password] forKey:@"password"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.idValue = [dictionary objectForKey:@"id"];
    self.address = [dictionary objectForKey:@"address"];
    self.port = [dictionary objectForKey:@"port"];
    self.username = [dictionary objectForKey:@"username"];
    self.password = [dictionary objectForKey:@"password"];
    return self;
}
 @end
@implementation CloudInfo
-(id) initWithCloudId:(NSString*) cloudId
      rdsId:(NSString*)rdsId
      username:(NSString*)username
      password:(NSString*)password { 
     self.cloudId = cloudId;               
     self.rdsId = rdsId;               
     self.username = username;               
     self.password = password;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self cloudId])
    {
        [result setValue:[self cloudId] forKey:@"cloudId"];
    }
    if([self rdsId])
    {
        [result setValue:[self rdsId] forKey:@"rdsId"];
    }
    if([self username])
    {
        [result setValue:[self username] forKey:@"username"];
    }
    if([self password])
    {
        [result setValue:[self password] forKey:@"password"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.cloudId = [dictionary objectForKey:@"cloudId"];
    self.rdsId = [dictionary objectForKey:@"rdsId"];
    self.username = [dictionary objectForKey:@"username"];
    self.password = [dictionary objectForKey:@"password"];
    return self;
}
 @end
@implementation Info
-(id) initWithCode:(NSString*) code
      message:(NSString*)message { 
     self.code = code;               
     self.message = message;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self code])
    {
        [result setValue:[self code] forKey:@"code"];
    }
    if([self message])
    {
        [result setValue:[self message] forKey:@"message"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.code = [dictionary objectForKey:@"code"];
    self.message = [dictionary objectForKey:@"message"];
    return self;
}
 @end
@implementation PermissionType
-(id) initWithCloudID:(NSString*) cloudID
      ipProtocol:(NSString*)ipProtocol
      portRange:(NSString*)portRange
      descriptionValue:(NSString*)descriptionValue
      sourceCidrIp:(NSString*)sourceCidrIp
      sourceGroupId:(NSString*)sourceGroupId
      sourceGroupOwnerAccount:(NSString*)sourceGroupOwnerAccount
      destCidrIp:(NSString*)destCidrIp
      destGroupId:(NSString*)destGroupId
      destGroupOwnerAccount:(NSString*)destGroupOwnerAccount
      policy:(NSString*)policy
      nicType:(NSString*)nicType
      priority:(NSString*)priority
      direction:(NSString*)direction { 
     self.cloudID = cloudID;               
     self.ipProtocol = ipProtocol;               
     self.portRange = portRange;               
     self.descriptionValue = descriptionValue;               
     self.sourceCidrIp = sourceCidrIp;               
     self.sourceGroupId = sourceGroupId;               
     self.sourceGroupOwnerAccount = sourceGroupOwnerAccount;               
     self.destCidrIp = destCidrIp;               
     self.destGroupId = destGroupId;               
     self.destGroupOwnerAccount = destGroupOwnerAccount;               
     self.policy = policy;               
     self.nicType = nicType;               
     self.priority = priority;               
     self.direction = direction;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self cloudID])
    {
        [result setValue:[self cloudID] forKey:@"cloudID"];
    }
    if([self ipProtocol])
    {
        [result setValue:[self ipProtocol] forKey:@"ipProtocol"];
    }
    if([self portRange])
    {
        [result setValue:[self portRange] forKey:@"portRange"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self sourceCidrIp])
    {
        [result setValue:[self sourceCidrIp] forKey:@"sourceCidrIp"];
    }
    if([self sourceGroupId])
    {
        [result setValue:[self sourceGroupId] forKey:@"sourceGroupId"];
    }
    if([self sourceGroupOwnerAccount])
    {
        [result setValue:[self sourceGroupOwnerAccount] forKey:@"sourceGroupOwnerAccount"];
    }
    if([self destCidrIp])
    {
        [result setValue:[self destCidrIp] forKey:@"destCidrIp"];
    }
    if([self destGroupId])
    {
        [result setValue:[self destGroupId] forKey:@"destGroupId"];
    }
    if([self destGroupOwnerAccount])
    {
        [result setValue:[self destGroupOwnerAccount] forKey:@"destGroupOwnerAccount"];
    }
    if([self policy])
    {
        [result setValue:[self policy] forKey:@"policy"];
    }
    if([self nicType])
    {
        [result setValue:[self nicType] forKey:@"nicType"];
    }
    if([self priority])
    {
        [result setValue:[self priority] forKey:@"priority"];
    }
    if([self direction])
    {
        [result setValue:[self direction] forKey:@"direction"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.cloudID = [dictionary objectForKey:@"cloudID"];
    self.ipProtocol = [dictionary objectForKey:@"ipProtocol"];
    self.portRange = [dictionary objectForKey:@"portRange"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.sourceCidrIp = [dictionary objectForKey:@"sourceCidrIp"];
    self.sourceGroupId = [dictionary objectForKey:@"sourceGroupId"];
    self.sourceGroupOwnerAccount = [dictionary objectForKey:@"sourceGroupOwnerAccount"];
    self.destCidrIp = [dictionary objectForKey:@"destCidrIp"];
    self.destGroupId = [dictionary objectForKey:@"destGroupId"];
    self.destGroupOwnerAccount = [dictionary objectForKey:@"destGroupOwnerAccount"];
    self.policy = [dictionary objectForKey:@"policy"];
    self.nicType = [dictionary objectForKey:@"nicType"];
    self.priority = [dictionary objectForKey:@"priority"];
    self.direction = [dictionary objectForKey:@"direction"];
    return self;
}
 @end
@implementation SecurityGroupInfo
-(id) initWithCloudID:(NSString*) cloudID
      idValue:(NSString*)idValue
      name:(NSString*)name
      descriptionValue:(NSString*)descriptionValue
      vpcId:(NSString*)vpcId
      createdTime:(NSString*)createdTime { 
     self.cloudID = cloudID;               
     self.idValue = idValue;               
     self.name = name;               
     self.descriptionValue = descriptionValue;               
     self.vpcId = vpcId;               
     self.createdTime = createdTime;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self cloudID])
    {
        [result setValue:[self cloudID] forKey:@"cloudID"];
    }
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self vpcId])
    {
        [result setValue:[self vpcId] forKey:@"vpcId"];
    }
    if([self createdTime])
    {
        [result setValue:[self createdTime] forKey:@"createdTime"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.cloudID = [dictionary objectForKey:@"cloudID"];
    self.idValue = [dictionary objectForKey:@"id"];
    self.name = [dictionary objectForKey:@"name"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.vpcId = [dictionary objectForKey:@"vpcId"];
    self.createdTime = [dictionary objectForKey:@"createdTime"];
    return self;
}
 @end
@implementation TaskInfo
-(id) initWithBeginTime:(NSString*) beginTime
      endTime:(NSString*)endTime
      taskStatus:(NSString*)taskStatus
      taskResult:(NSString*)taskResult
      lastCode:(NSString*)lastCode
      taskLastInfo:(NSString*)taskLastInfo
      resourceIDs:(NSArray<NSObject*>*)resourceIDs
      msg:(NSArray<NSObject*>*)msg { 
     self.beginTime = beginTime;               
     self.endTime = endTime;               
     self.taskStatus = taskStatus;               
     self.taskResult = taskResult;               
     self.lastCode = lastCode;               
     self.taskLastInfo = taskLastInfo;               
     self.resourceIDs = resourceIDs;               
     self.msg = msg;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self beginTime])
    {
        [result setValue:[self beginTime] forKey:@"beginTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self taskStatus])
    {
        [result setValue:[self taskStatus] forKey:@"taskStatus"];
    }
    if([self taskResult])
    {
        [result setValue:[self taskResult] forKey:@"taskResult"];
    }
    if([self lastCode])
    {
        [result setValue:[self lastCode] forKey:@"lastCode"];
    }
    if([self taskLastInfo])
    {
        [result setValue:[self taskLastInfo] forKey:@"taskLastInfo"];
    }
    if([self resourceIDs])
    {
        [result setValue:[self resourceIDs] forKey:@"resourceIDs"];
    }
    if([self msg])
    {
        [result setValue:[self msg] forKey:@"msg"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.beginTime = [dictionary objectForKey:@"beginTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.taskStatus = [dictionary objectForKey:@"taskStatus"];
    self.taskResult = [dictionary objectForKey:@"taskResult"];
    self.lastCode = [dictionary objectForKey:@"lastCode"];
    self.taskLastInfo = [dictionary objectForKey:@"taskLastInfo"];
    self.resourceIDs = [dictionary objectForKey:@"resourceIDs"];
    self.msg = [dictionary objectForKey:@"msg"];
    return self;
}
 @end
@implementation CreateRDSAccount
-(id) initWithName:(NSString*) name
      password:(NSString*)password { 
     self.name = name;               
     self.password = password;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self password])
    {
        [result setValue:[self password] forKey:@"password"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.name = [dictionary objectForKey:@"name"];
    self.password = [dictionary objectForKey:@"password"];
    return self;
}
 @end
@implementation RdsAccountPrivilege
-(id) initWithDbName:(NSString*) dbName
      privilege:(NSString*)privilege
      cloudID:(NSString*)cloudID { 
     self.dbName = dbName;               
     self.privilege = privilege;               
     self.cloudID = cloudID;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self dbName])
    {
        [result setValue:[self dbName] forKey:@"dbName"];
    }
    if([self privilege])
    {
        [result setValue:[self privilege] forKey:@"privilege"];
    }
    if([self cloudID])
    {
        [result setValue:[self cloudID] forKey:@"cloudID"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.dbName = [dictionary objectForKey:@"dbName"];
    self.privilege = [dictionary objectForKey:@"privilege"];
    self.cloudID = [dictionary objectForKey:@"cloudID"];
    return self;
}
 @end
@implementation DbPrivilegeInfo
-(id) initWithDbName:(NSString*) dbName
      privilege:(NSString*)privilege { 
     self.dbName = dbName;               
     self.privilege = privilege;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self dbName])
    {
        [result setValue:[self dbName] forKey:@"dbName"];
    }
    if([self privilege])
    {
        [result setValue:[self privilege] forKey:@"privilege"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.dbName = [dictionary objectForKey:@"dbName"];
    self.privilege = [dictionary objectForKey:@"privilege"];
    return self;
}
 @end
@implementation GetUserCloudNotFoundResp
-(id) initWithError:(NSObject*) error { 
     self.error = error;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self error])
    {
        [result setValue:[self error] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.error = [dictionary objectForKey:@"error"];
    return self;
}
 @end
@implementation Payload1
-(id) initWithCloud:(NSString*) cloud { 
     self.cloud = cloud;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self cloud])
    {
        [result setValue:[self cloud] forKey:@"cloud"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.cloud = [dictionary objectForKey:@"cloud"];
    return self;
}
 @end
@implementation Payload
-(id) initWithId:(NSString*) idValue { 
     self.idValue = idValue;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.idValue = [dictionary objectForKey:@"id"];
    return self;
}
 @end
@implementation InstanceTypeInfo
-(id) initWithInstanceType:(NSString*) instanceType
      cpu:(NSNumber*)cpu
      memory:(NSNumber*)memory
      gpuAmount:(NSNumber*)gpuAmount
      gpuSpec:(NSString*)gpuSpec
      localStorageSize:(NSNumber*)localStorageSize
      localStorageType:(NSString*)localStorageType
      localStorageAmount:(NSNumber*)localStorageAmount
      nicLimit:(NSNumber*)nicLimit { 
     self.instanceType = instanceType;               
     self.cpu = cpu;               
     self.memory = memory;               
     self.gpuAmount = gpuAmount;               
     self.gpuSpec = gpuSpec;               
     self.localStorageSize = localStorageSize;               
     self.localStorageType = localStorageType;               
     self.localStorageAmount = localStorageAmount;               
     self.nicLimit = nicLimit;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self instanceType])
    {
        [result setValue:[self instanceType] forKey:@"instanceType"];
    }
    if([self cpu])
    {
        [result setValue:[self cpu] forKey:@"cpu"];
    }
    if([self memory])
    {
        [result setValue:[self memory] forKey:@"memory"];
    }
    if([self gpuAmount])
    {
        [result setValue:[self gpuAmount] forKey:@"gpuAmount"];
    }
    if([self gpuSpec])
    {
        [result setValue:[self gpuSpec] forKey:@"gpuSpec"];
    }
    if([self localStorageSize])
    {
        [result setValue:[self localStorageSize] forKey:@"localStorageSize"];
    }
    if([self localStorageType])
    {
        [result setValue:[self localStorageType] forKey:@"localStorageType"];
    }
    if([self localStorageAmount])
    {
        [result setValue:[self localStorageAmount] forKey:@"localStorageAmount"];
    }
    if([self nicLimit])
    {
        [result setValue:[self nicLimit] forKey:@"nicLimit"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.instanceType = [dictionary objectForKey:@"instanceType"];
    self.cpu = [dictionary objectForKey:@"cpu"];
    self.memory = [dictionary objectForKey:@"memory"];
    self.gpuAmount = [dictionary objectForKey:@"gpuAmount"];
    self.gpuSpec = [dictionary objectForKey:@"gpuSpec"];
    self.localStorageSize = [dictionary objectForKey:@"localStorageSize"];
    self.localStorageType = [dictionary objectForKey:@"localStorageType"];
    self.localStorageAmount = [dictionary objectForKey:@"localStorageAmount"];
    self.nicLimit = [dictionary objectForKey:@"nicLimit"];
    return self;
}
 @end
@implementation LbHttpListener
-(id) initWithListenerPort:(NSNumber*) listenerPort
      backendServerPort:(NSNumber*)backendServerPort
      status:(NSString*)status
      scheduler:(NSString*)scheduler
      vServerGroupId:(NSString*)vServerGroupId
      healthCheck:(NSString*)healthCheck
      healthCheckConnectPort:(NSNumber*)healthCheckConnectPort
      healthyThreshold:(NSNumber*)healthyThreshold
      unhealthyThreshold:(NSNumber*)unhealthyThreshold
      healthCheckTimeout:(NSNumber*)healthCheckTimeout
      healthCheckInterval:(NSNumber*)healthCheckInterval
      healthCheckHttpCode:(NSString*)healthCheckHttpCode { 
     self.listenerPort = listenerPort;               
     self.backendServerPort = backendServerPort;               
     self.status = status;               
     self.scheduler = scheduler;               
     self.vServerGroupId = vServerGroupId;               
     self.healthCheck = healthCheck;               
     self.healthCheckConnectPort = healthCheckConnectPort;               
     self.healthyThreshold = healthyThreshold;               
     self.unhealthyThreshold = unhealthyThreshold;               
     self.healthCheckTimeout = healthCheckTimeout;               
     self.healthCheckInterval = healthCheckInterval;               
     self.healthCheckHttpCode = healthCheckHttpCode;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self listenerPort])
    {
        [result setValue:[self listenerPort] forKey:@"listenerPort"];
    }
    if([self backendServerPort])
    {
        [result setValue:[self backendServerPort] forKey:@"backendServerPort"];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    if([self scheduler])
    {
        [result setValue:[self scheduler] forKey:@"scheduler"];
    }
    if([self vServerGroupId])
    {
        [result setValue:[self vServerGroupId] forKey:@"vServerGroupId"];
    }
    if([self healthCheck])
    {
        [result setValue:[self healthCheck] forKey:@"healthCheck"];
    }
    if([self healthCheckConnectPort])
    {
        [result setValue:[self healthCheckConnectPort] forKey:@"healthCheckConnectPort"];
    }
    if([self healthyThreshold])
    {
        [result setValue:[self healthyThreshold] forKey:@"healthyThreshold"];
    }
    if([self unhealthyThreshold])
    {
        [result setValue:[self unhealthyThreshold] forKey:@"unhealthyThreshold"];
    }
    if([self healthCheckTimeout])
    {
        [result setValue:[self healthCheckTimeout] forKey:@"healthCheckTimeout"];
    }
    if([self healthCheckInterval])
    {
        [result setValue:[self healthCheckInterval] forKey:@"healthCheckInterval"];
    }
    if([self healthCheckHttpCode])
    {
        [result setValue:[self healthCheckHttpCode] forKey:@"healthCheckHttpCode"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.listenerPort = [dictionary objectForKey:@"listenerPort"];
    self.backendServerPort = [dictionary objectForKey:@"backendServerPort"];
    self.status = [dictionary objectForKey:@"status"];
    self.scheduler = [dictionary objectForKey:@"scheduler"];
    self.vServerGroupId = [dictionary objectForKey:@"vServerGroupId"];
    self.healthCheck = [dictionary objectForKey:@"healthCheck"];
    self.healthCheckConnectPort = [dictionary objectForKey:@"healthCheckConnectPort"];
    self.healthyThreshold = [dictionary objectForKey:@"healthyThreshold"];
    self.unhealthyThreshold = [dictionary objectForKey:@"unhealthyThreshold"];
    self.healthCheckTimeout = [dictionary objectForKey:@"healthCheckTimeout"];
    self.healthCheckInterval = [dictionary objectForKey:@"healthCheckInterval"];
    self.healthCheckHttpCode = [dictionary objectForKey:@"healthCheckHttpCode"];
    return self;
}
 @end
@implementation ListenerPortsAndProtocol
-(id) initWithListenerPort:(NSNumber*) listenerPort
      listenerProtocol:(NSString*)listenerProtocol
      listenerForward:(NSString*)listenerForward
      forwardPort:(NSNumber*)forwardPort { 
     self.listenerPort = listenerPort;               
     self.listenerProtocol = listenerProtocol;               
     self.listenerForward = listenerForward;               
     self.forwardPort = forwardPort;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self listenerPort])
    {
        [result setValue:[self listenerPort] forKey:@"listenerPort"];
    }
    if([self listenerProtocol])
    {
        [result setValue:[self listenerProtocol] forKey:@"listenerProtocol"];
    }
    if([self listenerForward])
    {
        [result setValue:[self listenerForward] forKey:@"listenerForward"];
    }
    if([self forwardPort])
    {
        [result setValue:[self forwardPort] forKey:@"forwardPort"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.listenerPort = [dictionary objectForKey:@"listenerPort"];
    self.listenerProtocol = [dictionary objectForKey:@"listenerProtocol"];
    self.listenerForward = [dictionary objectForKey:@"listenerForward"];
    self.forwardPort = [dictionary objectForKey:@"forwardPort"];
    return self;
}
 @end
@implementation UnassociateEipAddress
-(id) initWithInstanceId:(NSString*) instanceId
      instanceType:(NSString*)instanceType { 
     self.instanceId = instanceId;               
     self.instanceType = instanceType;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    if([self instanceType])
    {
        [result setValue:[self instanceType] forKey:@"instanceType"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    self.instanceType = [dictionary objectForKey:@"instanceType"];
    return self;
}
 @end
@implementation AssociateEipAddress
-(id) initWithInstanceId:(NSString*) instanceId
      instanceType:(NSString*)instanceType { 
     self.instanceId = instanceId;               
     self.instanceType = instanceType;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    if([self instanceType])
    {
        [result setValue:[self instanceType] forKey:@"instanceType"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    self.instanceType = [dictionary objectForKey:@"instanceType"];
    return self;
}
 @end
@implementation EipAddress
-(id) initWithCloudID:(NSString*) cloudID
      ipAddress:(NSString*)ipAddress
      idValue:(NSString*)idValue
      status:(NSString*)status
      instanceType:(NSString*)instanceType
      instanceId:(NSString*)instanceId
      bandwidth:(NSString*)bandwidth
      jdfusionAllocationTime:(NSString*)jdfusionAllocationTime { 
     self.cloudID = cloudID;               
     self.ipAddress = ipAddress;               
     self.idValue = idValue;               
     self.status = status;               
     self.instanceType = instanceType;               
     self.instanceId = instanceId;               
     self.bandwidth = bandwidth;               
     self.jdfusionAllocationTime = jdfusionAllocationTime;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self cloudID])
    {
        [result setValue:[self cloudID] forKey:@"cloudID"];
    }
    if([self ipAddress])
    {
        [result setValue:[self ipAddress] forKey:@"ipAddress"];
    }
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    if([self instanceType])
    {
        [result setValue:[self instanceType] forKey:@"instanceType"];
    }
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    if([self bandwidth])
    {
        [result setValue:[self bandwidth] forKey:@"bandwidth"];
    }
    if([self jdfusionAllocationTime])
    {
        [result setValue:[self jdfusionAllocationTime] forKey:@"allocationTime"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.cloudID = [dictionary objectForKey:@"cloudID"];
    self.ipAddress = [dictionary objectForKey:@"ipAddress"];
    self.idValue = [dictionary objectForKey:@"id"];
    self.status = [dictionary objectForKey:@"status"];
    self.instanceType = [dictionary objectForKey:@"instanceType"];
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    self.bandwidth = [dictionary objectForKey:@"bandwidth"];
    self.jdfusionAllocationTime = [dictionary objectForKey:@"allocationTime"];
    return self;
}
 @end
@implementation AttachDataDisk
-(id) initWithInstanceId:(NSString*) instanceId
      deleteWithInstance:(NSNumber*)deleteWithInstance { 
     self.instanceId = instanceId;               
     self.deleteWithInstance = deleteWithInstance;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    if([self deleteWithInstance])
    {
        [result setValue:[self deleteWithInstance] forKey:@"deleteWithInstance"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    self.deleteWithInstance = [dictionary objectForKey:@"deleteWithInstance"];
    return self;
}
 @end
@implementation DetachDataDisk
-(id) initWithInstanceId:(NSString*) instanceId { 
     self.instanceId = instanceId;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    return self;
}
 @end
@implementation PrivateIp
-(id) initWithIpAddress:(NSString*) ipAddress
      primary:(NSNumber*)primary
      eipId:(NSString*)eipId
      eipAddress:(NSString*)eipAddress { 
     self.ipAddress = ipAddress;               
     self.primary = primary;               
     self.eipId = eipId;               
     self.eipAddress = eipAddress;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self ipAddress])
    {
        [result setValue:[self ipAddress] forKey:@"ipAddress"];
    }
    if([self primary])
    {
        [result setValue:[self primary] forKey:@"primary"];
    }
    if([self eipId])
    {
        [result setValue:[self eipId] forKey:@"eipId"];
    }
    if([self eipAddress])
    {
        [result setValue:[self eipAddress] forKey:@"eipAddress"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.ipAddress = [dictionary objectForKey:@"ipAddress"];
    self.primary = [dictionary objectForKey:@"primary"];
    self.eipId = [dictionary objectForKey:@"eipId"];
    self.eipAddress = [dictionary objectForKey:@"eipAddress"];
    return self;
}
 @end
@implementation DetachNetInterface
-(id) initWithInstanceId:(NSString*) instanceId { 
     self.instanceId = instanceId;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    return self;
}
 @end
@implementation AttachNetInterface
-(id) initWithInstanceId:(NSString*) instanceId { 
     self.instanceId = instanceId;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    return self;
}
 @end
@implementation BackendServer2
-(id) initWithServerId:(NSString*) serverId
      weight:(NSNumber*)weight
      type:(NSString*)type { 
     self.serverId = serverId;               
     self.weight = weight;               
     self.type = type;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self serverId])
    {
        [result setValue:[self serverId] forKey:@"serverId"];
    }
    if([self weight])
    {
        [result setValue:[self weight] forKey:@"weight"];
    }
    if([self type])
    {
        [result setValue:[self type] forKey:@"type"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.serverId = [dictionary objectForKey:@"serverId"];
    self.weight = [dictionary objectForKey:@"weight"];
    self.type = [dictionary objectForKey:@"type"];
    return self;
}
 @end
@implementation VserverGroupInfo
-(id) initWithCloudID:(NSString*) cloudID
      vserverGroupId:(NSString*)vserverGroupId
      vserverGroupName:(NSString*)vserverGroupName { 
     self.cloudID = cloudID;               
     self.vserverGroupId = vserverGroupId;               
     self.vserverGroupName = vserverGroupName;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self cloudID])
    {
        [result setValue:[self cloudID] forKey:@"cloudID"];
    }
    if([self vserverGroupId])
    {
        [result setValue:[self vserverGroupId] forKey:@"vserverGroupId"];
    }
    if([self vserverGroupName])
    {
        [result setValue:[self vserverGroupName] forKey:@"vserverGroupName"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.cloudID = [dictionary objectForKey:@"cloudID"];
    self.vserverGroupId = [dictionary objectForKey:@"vserverGroupId"];
    self.vserverGroupName = [dictionary objectForKey:@"vserverGroupName"];
    return self;
}
 @end
@implementation VserverGroupBackendServer
-(id) initWithServerId:(NSString*) serverId
      port:(NSNumber*)port
      weight:(NSNumber*)weight { 
     self.serverId = serverId;               
     self.port = port;               
     self.weight = weight;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self serverId])
    {
        [result setValue:[self serverId] forKey:@"serverId"];
    }
    if([self port])
    {
        [result setValue:[self port] forKey:@"port"];
    }
    if([self weight])
    {
        [result setValue:[self weight] forKey:@"weight"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.serverId = [dictionary objectForKey:@"serverId"];
    self.port = [dictionary objectForKey:@"port"];
    self.weight = [dictionary objectForKey:@"weight"];
    return self;
}
 @end
@implementation ImageInfo
-(id) initWithId:(NSString*) idValue
      name:(NSString*)name
      descriptionValue:(NSString*)descriptionValue
      architecture:(NSString*)architecture
      createdTime:(NSString*)createdTime
      imageSource:(NSString*)imageSource
      osType:(NSString*)osType
      platform:(NSString*)platform
      progress:(NSString*)progress
      size:(NSNumber*)size
      status:(NSString*)status
      cloudID:(NSString*)cloudID { 
     self.idValue = idValue;               
     self.name = name;               
     self.descriptionValue = descriptionValue;               
     self.architecture = architecture;               
     self.createdTime = createdTime;               
     self.imageSource = imageSource;               
     self.osType = osType;               
     self.platform = platform;               
     self.progress = progress;               
     self.size = size;               
     self.status = status;               
     self.cloudID = cloudID;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self architecture])
    {
        [result setValue:[self architecture] forKey:@"architecture"];
    }
    if([self createdTime])
    {
        [result setValue:[self createdTime] forKey:@"createdTime"];
    }
    if([self imageSource])
    {
        [result setValue:[self imageSource] forKey:@"imageSource"];
    }
    if([self osType])
    {
        [result setValue:[self osType] forKey:@"osType"];
    }
    if([self platform])
    {
        [result setValue:[self platform] forKey:@"platform"];
    }
    if([self progress])
    {
        [result setValue:[self progress] forKey:@"progress"];
    }
    if([self size])
    {
        [result setValue:[self size] forKey:@"size"];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    if([self cloudID])
    {
        [result setValue:[self cloudID] forKey:@"cloudID"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.idValue = [dictionary objectForKey:@"id"];
    self.name = [dictionary objectForKey:@"name"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.architecture = [dictionary objectForKey:@"architecture"];
    self.createdTime = [dictionary objectForKey:@"createdTime"];
    self.imageSource = [dictionary objectForKey:@"imageSource"];
    self.osType = [dictionary objectForKey:@"osType"];
    self.platform = [dictionary objectForKey:@"platform"];
    self.progress = [dictionary objectForKey:@"progress"];
    self.size = [dictionary objectForKey:@"size"];
    self.status = [dictionary objectForKey:@"status"];
    self.cloudID = [dictionary objectForKey:@"cloudID"];
    return self;
}
 @end
@implementation RdsSpecificationDisk
-(id) initWithList:(NSArray<NSNumber*>*) list
      min:(NSNumber*)min
      max:(NSNumber*)max { 
     self.list = list;               
     self.min = min;               
     self.max = max;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self list])
    {
        [result setValue:[self list] forKey:@"list"];
    }
    if([self min])
    {
        [result setValue:[self min] forKey:@"min"];
    }
    if([self max])
    {
        [result setValue:[self max] forKey:@"max"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.list = [dictionary objectForKey:@"list"];
    self.min = [dictionary objectForKey:@"min"];
    self.max = [dictionary objectForKey:@"max"];
    return self;
}
 @end
@implementation AzInfo
-(id) initWithZoneId:(NSString*) zoneId
      localName:(NSString*)localName { 
     self.zoneId = zoneId;               
     self.localName = localName;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self zoneId])
    {
        [result setValue:[self zoneId] forKey:@"zoneId"];
    }
    if([self localName])
    {
        [result setValue:[self localName] forKey:@"localName"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.zoneId = [dictionary objectForKey:@"zoneId"];
    self.localName = [dictionary objectForKey:@"localName"];
    return self;
}
 @end
@implementation RegionInfo
-(id) initWithRegionId:(NSString*) regionId
      localName:(NSString*)localName
      vendor:(NSString*)vendor { 
     self.regionId = regionId;               
     self.localName = localName;               
     self.vendor = vendor;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self regionId])
    {
        [result setValue:[self regionId] forKey:@"regionId"];
    }
    if([self localName])
    {
        [result setValue:[self localName] forKey:@"localName"];
    }
    if([self vendor])
    {
        [result setValue:[self vendor] forKey:@"vendor"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.regionId = [dictionary objectForKey:@"regionId"];
    self.localName = [dictionary objectForKey:@"localName"];
    self.vendor = [dictionary objectForKey:@"vendor"];
    return self;
}
 @end
@implementation CreateRDSDB
-(id) initWithName:(NSString*) name
      characterSetName:(NSString*)characterSetName { 
     self.name = name;               
     self.characterSetName = characterSetName;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self characterSetName])
    {
        [result setValue:[self characterSetName] forKey:@"characterSetName"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.name = [dictionary objectForKey:@"name"];
    self.characterSetName = [dictionary objectForKey:@"characterSetName"];
    return self;
}
 @end
@implementation RdsDBAccessPrivilege
-(id) initWithAccountName:(NSString*) accountName
      privilege:(NSString*)privilege
      cloudID:(NSString*)cloudID { 
     self.accountName = accountName;               
     self.privilege = privilege;               
     self.cloudID = cloudID;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self accountName])
    {
        [result setValue:[self accountName] forKey:@"accountName"];
    }
    if([self privilege])
    {
        [result setValue:[self privilege] forKey:@"privilege"];
    }
    if([self cloudID])
    {
        [result setValue:[self cloudID] forKey:@"cloudID"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.accountName = [dictionary objectForKey:@"accountName"];
    self.privilege = [dictionary objectForKey:@"privilege"];
    self.cloudID = [dictionary objectForKey:@"cloudID"];
    return self;
}
 @end
@implementation VpcSubnetItem
-(id) initWithSubnet:(SubnetDesInfo*) subnet { 
     self.subnet = subnet;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self subnet])
    {
        [result setValue:[[self subnet] dictionary]forKey:@"subnet"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.subnet = [[SubnetDesInfo alloc]initWithDic:[dictionary objectForKey:@"subnet"]];
    return self;
}
 @end
@implementation VpcSubnetCollection
-(id) initWithSubnets:(NSArray<SubnetDesInfo*>*) subnets { 
     self.subnets = subnets;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self subnets])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self subnets] count]; i++) {
            SubnetDesInfo* item = [[self subnets] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"subnets"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* subnetsArray = [dictionary objectForKey:@"subnets"];
    if(subnetsArray&&![subnetsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [subnetsArray count];i++)
        {
            SubnetDesInfo* item = [[SubnetDesInfo alloc]initWithDic:[subnetsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.subnets = propertyArray;
    }
    return self;
}
 @end
@implementation VpcCreateTask
-(id) initWithTask:(ResourceTFInfo*) task { 
     self.task = task;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self task])
    {
        [result setValue:[[self task] dictionary]forKey:@"task"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.task = [[ResourceTFInfo alloc]initWithDic:[dictionary objectForKey:@"task"]];
    return self;
}
 @end
@implementation VpcCollection
-(id) initWithVpcs:(NSArray<VpcInfo*>*) vpcs { 
     self.vpcs = vpcs;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self vpcs])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self vpcs] count]; i++) {
            VpcInfo* item = [[self vpcs] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"vpcs"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* vpcsArray = [dictionary objectForKey:@"vpcs"];
    if(vpcsArray&&![vpcsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [vpcsArray count];i++)
        {
            VpcInfo* item = [[VpcInfo alloc]initWithDic:[vpcsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.vpcs = propertyArray;
    }
    return self;
}
 @end
@implementation VpcInfoDetail
-(id) initWithId:(NSString*) idValue
      name:(NSString*)name
      cidrBlock:(NSString*)cidrBlock
      descriptionValue:(NSString*)descriptionValue
      createdTime:(NSString*)createdTime
      cloudID:(NSString*)cloudID
      subnets:(NSArray<SubnetInfo*>*)subnets
      routeTableIds:(NSArray<NSString*>*)routeTableIds { 
     self.idValue = idValue;               
     self.name = name;               
     self.cidrBlock = cidrBlock;               
     self.descriptionValue = descriptionValue;               
     self.createdTime = createdTime;               
     self.cloudID = cloudID;               
     self.subnets = subnets;               
     self.routeTableIds = routeTableIds;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self cidrBlock])
    {
        [result setValue:[self cidrBlock] forKey:@"cidrBlock"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self createdTime])
    {
        [result setValue:[self createdTime] forKey:@"createdTime"];
    }
    if([self cloudID])
    {
        [result setValue:[self cloudID] forKey:@"cloudID"];
    }
    if([self subnets])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self subnets] count]; i++) {
            SubnetInfo* item = [[self subnets] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"subnets"];
    }
    if([self routeTableIds])
    {
        [result setValue:[self routeTableIds] forKey:@"routeTableIds"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.idValue = [dictionary objectForKey:@"id"];
    self.name = [dictionary objectForKey:@"name"];
    self.cidrBlock = [dictionary objectForKey:@"cidrBlock"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.createdTime = [dictionary objectForKey:@"createdTime"];
    self.cloudID = [dictionary objectForKey:@"cloudID"];
    NSArray* subnetsArray = [dictionary objectForKey:@"subnets"];
    if(subnetsArray&&![subnetsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [subnetsArray count];i++)
        {
            SubnetInfo* item = [[SubnetInfo alloc]initWithDic:[subnetsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.subnets = propertyArray;
    }
    self.routeTableIds = [dictionary objectForKey:@"routeTableIds"];
    return self;
}
 @end
@implementation VpcItem
-(id) initWithVpc:(VpcInfoDetail*) vpc { 
     self.vpc = vpc;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self vpc])
    {
        [result setValue:[[self vpc] dictionary]forKey:@"vpc"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.vpc = [[VpcInfoDetail alloc]initWithDic:[dictionary objectForKey:@"vpc"]];
    return self;
}
 @end
@implementation DataDiskAttachment
-(id) initWithAutoDelete:(NSNumber*) autoDelete
      dataDisk:(DataDiskInfo*)dataDisk
      deviceName:(NSString*)deviceName
      diskCategory:(NSString*)diskCategory { 
     self.autoDelete = autoDelete;               
     self.dataDisk = dataDisk;               
     self.deviceName = deviceName;               
     self.diskCategory = diskCategory;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self autoDelete])
    {
        [result setValue:[self autoDelete] forKey:@"autoDelete"];
    }
    if([self dataDisk])
    {
        [result setValue:[[self dataDisk] dictionary]forKey:@"dataDisk"];
    }
    if([self deviceName])
    {
        [result setValue:[self deviceName] forKey:@"deviceName"];
    }
    if([self diskCategory])
    {
        [result setValue:[self diskCategory] forKey:@"diskCategory"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.autoDelete = [dictionary objectForKey:@"autoDelete"];
    self.dataDisk = [[DataDiskInfo alloc]initWithDic:[dictionary objectForKey:@"dataDisk"]];
    self.deviceName = [dictionary objectForKey:@"deviceName"];
    self.diskCategory = [dictionary objectForKey:@"diskCategory"];
    return self;
}
 @end
@implementation VmInstanceCreateTask
-(id) initWithTask:(ResourceTFInfo*) task { 
     self.task = task;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self task])
    {
        [result setValue:[[self task] dictionary]forKey:@"task"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.task = [[ResourceTFInfo alloc]initWithDic:[dictionary objectForKey:@"task"]];
    return self;
}
 @end
@implementation CreateVm
-(id) initWithId:(NSString*) idValue
      region:(NSString*)region
      az:(NSString*)az
      name:(NSString*)name
      hostName:(NSString*)hostName
      imageType:(ImageType*)imageType
      instanceType:(InstanceType*)instanceType
      descriptionValue:(NSString*)descriptionValue
      subnetId:(NSString*)subnetId
      tags:(NSArray<Tag*>*)tags
      cloudID:(NSString*)cloudID
      keyNames:(NSArray<NSString*>*)keyNames
      elasticIpAddress:(NSString*)elasticIpAddress
      privateIpAddress:(NSString*)privateIpAddress
      status:(NSString*)status
      createdTime:(NSString*)createdTime
      imageId:(NSString*)imageId
      instanceFlavorType:(NSString*)instanceFlavorType
      securityGroupId:(NSString*)securityGroupId
      internetMaxBandwidthIn:(NSNumber*)internetMaxBandwidthIn
      internetMaxBandwidthOut:(NSNumber*)internetMaxBandwidthOut
      password:(NSString*)password
      passwordInherit:(NSNumber*)passwordInherit
      userData:(NSString*)userData
      keyPairName:(NSString*)keyPairName
      systemDisk:(SystemDisk*)systemDisk { 
     self.idValue = idValue;               
     self.region = region;               
     self.az = az;               
     self.name = name;               
     self.hostName = hostName;               
     self.imageType = imageType;               
     self.instanceType = instanceType;               
     self.descriptionValue = descriptionValue;               
     self.subnetId = subnetId;               
     self.tags = tags;               
     self.cloudID = cloudID;               
     self.keyNames = keyNames;               
     self.elasticIpAddress = elasticIpAddress;               
     self.privateIpAddress = privateIpAddress;               
     self.status = status;               
     self.createdTime = createdTime;               
     self.imageId = imageId;               
     self.instanceFlavorType = instanceFlavorType;               
     self.securityGroupId = securityGroupId;               
     self.internetMaxBandwidthIn = internetMaxBandwidthIn;               
     self.internetMaxBandwidthOut = internetMaxBandwidthOut;               
     self.password = password;               
     self.passwordInherit = passwordInherit;               
     self.userData = userData;               
     self.keyPairName = keyPairName;               
     self.systemDisk = systemDisk;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    if([self region])
    {
        [result setValue:[self region] forKey:@"region"];
    }
    if([self az])
    {
        [result setValue:[self az] forKey:@"az"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self hostName])
    {
        [result setValue:[self hostName] forKey:@"hostName"];
    }
    if([self imageType])
    {
        [result setValue:[[self imageType] dictionary]forKey:@"imageType"];
    }
    if([self instanceType])
    {
        [result setValue:[[self instanceType] dictionary]forKey:@"instanceType"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self subnetId])
    {
        [result setValue:[self subnetId] forKey:@"subnetId"];
    }
    if([self tags])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self tags] count]; i++) {
            Tag* item = [[self tags] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"tags"];
    }
    if([self cloudID])
    {
        [result setValue:[self cloudID] forKey:@"cloudID"];
    }
    if([self keyNames])
    {
        [result setValue:[self keyNames] forKey:@"keyNames"];
    }
    if([self elasticIpAddress])
    {
        [result setValue:[self elasticIpAddress] forKey:@"elasticIpAddress"];
    }
    if([self privateIpAddress])
    {
        [result setValue:[self privateIpAddress] forKey:@"privateIpAddress"];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    if([self createdTime])
    {
        [result setValue:[self createdTime] forKey:@"createdTime"];
    }
    if([self imageId])
    {
        [result setValue:[self imageId] forKey:@"imageId"];
    }
    if([self instanceFlavorType])
    {
        [result setValue:[self instanceFlavorType] forKey:@"instanceFlavorType"];
    }
    if([self securityGroupId])
    {
        [result setValue:[self securityGroupId] forKey:@"securityGroupId"];
    }
    if([self internetMaxBandwidthIn])
    {
        [result setValue:[self internetMaxBandwidthIn] forKey:@"internetMaxBandwidthIn"];
    }
    if([self internetMaxBandwidthOut])
    {
        [result setValue:[self internetMaxBandwidthOut] forKey:@"internetMaxBandwidthOut"];
    }
    if([self password])
    {
        [result setValue:[self password] forKey:@"password"];
    }
    if([self passwordInherit])
    {
        [result setValue:[self passwordInherit] forKey:@"passwordInherit"];
    }
    if([self userData])
    {
        [result setValue:[self userData] forKey:@"userData"];
    }
    if([self keyPairName])
    {
        [result setValue:[self keyPairName] forKey:@"keyPairName"];
    }
    if([self systemDisk])
    {
        [result setValue:[[self systemDisk] dictionary]forKey:@"systemDisk"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.idValue = [dictionary objectForKey:@"id"];
    self.region = [dictionary objectForKey:@"region"];
    self.az = [dictionary objectForKey:@"az"];
    self.name = [dictionary objectForKey:@"name"];
    self.hostName = [dictionary objectForKey:@"hostName"];
    self.imageType = [[ImageType alloc]initWithDic:[dictionary objectForKey:@"imageType"]];
    self.instanceType = [[InstanceType alloc]initWithDic:[dictionary objectForKey:@"instanceType"]];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.subnetId = [dictionary objectForKey:@"subnetId"];
    NSArray* tagsArray = [dictionary objectForKey:@"tags"];
    if(tagsArray&&![tagsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [tagsArray count];i++)
        {
            Tag* item = [[Tag alloc]initWithDic:[tagsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.tags = propertyArray;
    }
    self.cloudID = [dictionary objectForKey:@"cloudID"];
    self.keyNames = [dictionary objectForKey:@"keyNames"];
    self.elasticIpAddress = [dictionary objectForKey:@"elasticIpAddress"];
    self.privateIpAddress = [dictionary objectForKey:@"privateIpAddress"];
    self.status = [dictionary objectForKey:@"status"];
    self.createdTime = [dictionary objectForKey:@"createdTime"];
    self.imageId = [dictionary objectForKey:@"imageId"];
    self.instanceFlavorType = [dictionary objectForKey:@"instanceFlavorType"];
    self.securityGroupId = [dictionary objectForKey:@"securityGroupId"];
    self.internetMaxBandwidthIn = [dictionary objectForKey:@"internetMaxBandwidthIn"];
    self.internetMaxBandwidthOut = [dictionary objectForKey:@"internetMaxBandwidthOut"];
    self.password = [dictionary objectForKey:@"password"];
    self.passwordInherit = [dictionary objectForKey:@"passwordInherit"];
    self.userData = [dictionary objectForKey:@"userData"];
    self.keyPairName = [dictionary objectForKey:@"keyPairName"];
    self.systemDisk = [[SystemDisk alloc]initWithDic:[dictionary objectForKey:@"systemDisk"]];
    return self;
}
 @end
@implementation NetworkInterface
-(id) initWithMacAddress:(NSString*) macAddress
      networkInterfaceId:(NSString*)networkInterfaceId
      sanityCheck:(NSNumber*)sanityCheck
      subnetId:(NSString*)subnetId
      vpcId:(NSString*)vpcId
      primaryIp:(Ip*)primaryIp
      secondaryIps:(NSArray<Ip*>*)secondaryIps
      securityGroups:(NSArray<SecurityGroup*>*)securityGroups { 
     self.macAddress = macAddress;               
     self.networkInterfaceId = networkInterfaceId;               
     self.sanityCheck = sanityCheck;               
     self.subnetId = subnetId;               
     self.vpcId = vpcId;               
     self.primaryIp = primaryIp;               
     self.secondaryIps = secondaryIps;               
     self.securityGroups = securityGroups;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self macAddress])
    {
        [result setValue:[self macAddress] forKey:@"macAddress"];
    }
    if([self networkInterfaceId])
    {
        [result setValue:[self networkInterfaceId] forKey:@"networkInterfaceId"];
    }
    if([self sanityCheck])
    {
        [result setValue:[self sanityCheck] forKey:@"sanityCheck"];
    }
    if([self subnetId])
    {
        [result setValue:[self subnetId] forKey:@"subnetId"];
    }
    if([self vpcId])
    {
        [result setValue:[self vpcId] forKey:@"vpcId"];
    }
    if([self primaryIp])
    {
        [result setValue:[[self primaryIp] dictionary]forKey:@"primaryIp"];
    }
    if([self secondaryIps])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self secondaryIps] count]; i++) {
            Ip* item = [[self secondaryIps] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"secondaryIps"];
    }
    if([self securityGroups])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self securityGroups] count]; i++) {
            SecurityGroup* item = [[self securityGroups] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"securityGroups"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.macAddress = [dictionary objectForKey:@"macAddress"];
    self.networkInterfaceId = [dictionary objectForKey:@"networkInterfaceId"];
    self.sanityCheck = [dictionary objectForKey:@"sanityCheck"];
    self.subnetId = [dictionary objectForKey:@"subnetId"];
    self.vpcId = [dictionary objectForKey:@"vpcId"];
    self.primaryIp = [[Ip alloc]initWithDic:[dictionary objectForKey:@"primaryIp"]];
    NSArray* secondaryIpsArray = [dictionary objectForKey:@"secondaryIps"];
    if(secondaryIpsArray&&![secondaryIpsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [secondaryIpsArray count];i++)
        {
            Ip* item = [[Ip alloc]initWithDic:[secondaryIpsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.secondaryIps = propertyArray;
    }
    NSArray* securityGroupsArray = [dictionary objectForKey:@"securityGroups"];
    if(securityGroupsArray&&![securityGroupsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [securityGroupsArray count];i++)
        {
            SecurityGroup* item = [[SecurityGroup alloc]initWithDic:[securityGroupsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.securityGroups = propertyArray;
    }
    return self;
}
 @end
@implementation VmInfo
-(id) initWithId:(NSString*) idValue
      region:(NSString*)region
      az:(NSString*)az
      name:(NSString*)name
      hostName:(NSString*)hostName
      imageType:(ImageType*)imageType
      instanceType:(InstanceType*)instanceType
      descriptionValue:(NSString*)descriptionValue
      subnetId:(NSString*)subnetId
      tags:(NSArray<Tag*>*)tags
      cloudID:(NSString*)cloudID
      keyNames:(NSArray<NSString*>*)keyNames
      elasticIpAddress:(NSString*)elasticIpAddress
      privateIpAddress:(NSString*)privateIpAddress
      status:(NSString*)status
      createdTime:(NSString*)createdTime
      imageId:(NSString*)imageId
      securityGroupIds:(NSArray<NSString*>*)securityGroupIds { 
     self.idValue = idValue;               
     self.region = region;               
     self.az = az;               
     self.name = name;               
     self.hostName = hostName;               
     self.imageType = imageType;               
     self.instanceType = instanceType;               
     self.descriptionValue = descriptionValue;               
     self.subnetId = subnetId;               
     self.tags = tags;               
     self.cloudID = cloudID;               
     self.keyNames = keyNames;               
     self.elasticIpAddress = elasticIpAddress;               
     self.privateIpAddress = privateIpAddress;               
     self.status = status;               
     self.createdTime = createdTime;               
     self.imageId = imageId;               
     self.securityGroupIds = securityGroupIds;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    if([self region])
    {
        [result setValue:[self region] forKey:@"region"];
    }
    if([self az])
    {
        [result setValue:[self az] forKey:@"az"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self hostName])
    {
        [result setValue:[self hostName] forKey:@"hostName"];
    }
    if([self imageType])
    {
        [result setValue:[[self imageType] dictionary]forKey:@"imageType"];
    }
    if([self instanceType])
    {
        [result setValue:[[self instanceType] dictionary]forKey:@"instanceType"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self subnetId])
    {
        [result setValue:[self subnetId] forKey:@"subnetId"];
    }
    if([self tags])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self tags] count]; i++) {
            Tag* item = [[self tags] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"tags"];
    }
    if([self cloudID])
    {
        [result setValue:[self cloudID] forKey:@"cloudID"];
    }
    if([self keyNames])
    {
        [result setValue:[self keyNames] forKey:@"keyNames"];
    }
    if([self elasticIpAddress])
    {
        [result setValue:[self elasticIpAddress] forKey:@"elasticIpAddress"];
    }
    if([self privateIpAddress])
    {
        [result setValue:[self privateIpAddress] forKey:@"privateIpAddress"];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    if([self createdTime])
    {
        [result setValue:[self createdTime] forKey:@"createdTime"];
    }
    if([self imageId])
    {
        [result setValue:[self imageId] forKey:@"imageId"];
    }
    if([self securityGroupIds])
    {
        [result setValue:[self securityGroupIds] forKey:@"securityGroupIds"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.idValue = [dictionary objectForKey:@"id"];
    self.region = [dictionary objectForKey:@"region"];
    self.az = [dictionary objectForKey:@"az"];
    self.name = [dictionary objectForKey:@"name"];
    self.hostName = [dictionary objectForKey:@"hostName"];
    self.imageType = [[ImageType alloc]initWithDic:[dictionary objectForKey:@"imageType"]];
    self.instanceType = [[InstanceType alloc]initWithDic:[dictionary objectForKey:@"instanceType"]];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.subnetId = [dictionary objectForKey:@"subnetId"];
    NSArray* tagsArray = [dictionary objectForKey:@"tags"];
    if(tagsArray&&![tagsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [tagsArray count];i++)
        {
            Tag* item = [[Tag alloc]initWithDic:[tagsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.tags = propertyArray;
    }
    self.cloudID = [dictionary objectForKey:@"cloudID"];
    self.keyNames = [dictionary objectForKey:@"keyNames"];
    self.elasticIpAddress = [dictionary objectForKey:@"elasticIpAddress"];
    self.privateIpAddress = [dictionary objectForKey:@"privateIpAddress"];
    self.status = [dictionary objectForKey:@"status"];
    self.createdTime = [dictionary objectForKey:@"createdTime"];
    self.imageId = [dictionary objectForKey:@"imageId"];
    self.securityGroupIds = [dictionary objectForKey:@"securityGroupIds"];
    return self;
}
 @end
@implementation CreateRDSInstanceReq
-(id) initWithInstance:(CreateRDSInstance*) instance { 
     self.instance = instance;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self instance])
    {
        [result setValue:[[self instance] dictionary]forKey:@"instance"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.instance = [[CreateRDSInstance alloc]initWithDic:[dictionary objectForKey:@"instance"]];
    return self;
}
 @end
@implementation CreateVserverGroup
-(id) initWithLoadBalancerId:(NSString*) loadBalancerId
      vserverGroupName:(NSString*)vserverGroupName
      backendServers:(NSArray<BackendServer*>*)backendServers { 
     self.loadBalancerId = loadBalancerId;               
     self.vserverGroupName = vserverGroupName;               
     self.backendServers = backendServers;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self loadBalancerId])
    {
        [result setValue:[self loadBalancerId] forKey:@"loadBalancerId"];
    }
    if([self vserverGroupName])
    {
        [result setValue:[self vserverGroupName] forKey:@"vserverGroupName"];
    }
    if([self backendServers])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self backendServers] count]; i++) {
            BackendServer* item = [[self backendServers] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"backendServers"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.loadBalancerId = [dictionary objectForKey:@"loadBalancerId"];
    self.vserverGroupName = [dictionary objectForKey:@"vserverGroupName"];
    NSArray* backendServersArray = [dictionary objectForKey:@"backendServers"];
    if(backendServersArray&&![backendServersArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [backendServersArray count];i++)
        {
            BackendServer* item = [[BackendServer alloc]initWithDic:[backendServersArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.backendServers = propertyArray;
    }
    return self;
}
 @end
@implementation CreateDataDisk
-(id) initWithCloudID:(NSString*) cloudID
      idValue:(NSString*)idValue
      name:(NSString*)name
      descriptionValue:(NSString*)descriptionValue
      diskSizeGB:(NSNumber*)diskSizeGB
      attachments:(NSArray<ArrayDiskAttachment*>*)attachments
      az:(NSString*)az
      diskType:(NSString*)diskType
      snapshotId:(NSString*)snapshotId
      status:(NSString*)status
      tags:(NSArray<Tag*>*)tags
      createdTime:(NSString*)createdTime { 
     self.cloudID = cloudID;               
     self.idValue = idValue;               
     self.name = name;               
     self.descriptionValue = descriptionValue;               
     self.diskSizeGB = diskSizeGB;               
     self.attachments = attachments;               
     self.az = az;               
     self.diskType = diskType;               
     self.snapshotId = snapshotId;               
     self.status = status;               
     self.tags = tags;               
     self.createdTime = createdTime;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self cloudID])
    {
        [result setValue:[self cloudID] forKey:@"cloudID"];
    }
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self diskSizeGB])
    {
        [result setValue:[self diskSizeGB] forKey:@"diskSizeGB"];
    }
    if([self attachments])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self attachments] count]; i++) {
            ArrayDiskAttachment* item = [[self attachments] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"attachments"];
    }
    if([self az])
    {
        [result setValue:[self az] forKey:@"az"];
    }
    if([self diskType])
    {
        [result setValue:[self diskType] forKey:@"diskType"];
    }
    if([self snapshotId])
    {
        [result setValue:[self snapshotId] forKey:@"snapshotId"];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    if([self tags])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self tags] count]; i++) {
            Tag* item = [[self tags] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"tags"];
    }
    if([self createdTime])
    {
        [result setValue:[self createdTime] forKey:@"createdTime"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.cloudID = [dictionary objectForKey:@"cloudID"];
    self.idValue = [dictionary objectForKey:@"id"];
    self.name = [dictionary objectForKey:@"name"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.diskSizeGB = [dictionary objectForKey:@"diskSizeGB"];
    NSArray* attachmentsArray = [dictionary objectForKey:@"attachments"];
    if(attachmentsArray&&![attachmentsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [attachmentsArray count];i++)
        {
            ArrayDiskAttachment* item = [[ArrayDiskAttachment alloc]initWithDic:[attachmentsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.attachments = propertyArray;
    }
    self.az = [dictionary objectForKey:@"az"];
    self.diskType = [dictionary objectForKey:@"diskType"];
    self.snapshotId = [dictionary objectForKey:@"snapshotId"];
    self.status = [dictionary objectForKey:@"status"];
    NSArray* tagsArray = [dictionary objectForKey:@"tags"];
    if(tagsArray&&![tagsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [tagsArray count];i++)
        {
            Tag* item = [[Tag alloc]initWithDic:[tagsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.tags = propertyArray;
    }
    self.createdTime = [dictionary objectForKey:@"createdTime"];
    return self;
}
 @end
@implementation ReverseDeploymentInfo
-(id) initWithName:(NSString*) name
      descriptionValue:(NSString*)descriptionValue
      version:(NSString*)version
      readOnly:(NSNumber*)readOnly
      resources:(ReverseDeploymentResourcesInfo*)resources { 
     self.name = name;               
     self.descriptionValue = descriptionValue;               
     self.version = version;               
     self.readOnly = readOnly;               
     self.resources = resources;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self version])
    {
        [result setValue:[self version] forKey:@"version"];
    }
    if([self readOnly])
    {
        [result setValue:[self readOnly] forKey:@"readOnly"];
    }
    if([self resources])
    {
        [result setValue:[[self resources] dictionary]forKey:@"resources"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.name = [dictionary objectForKey:@"name"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.version = [dictionary objectForKey:@"version"];
    self.readOnly = [dictionary objectForKey:@"readOnly"];
    self.resources = [[ReverseDeploymentResourcesInfo alloc]initWithDic:[dictionary objectForKey:@"resources"]];
    return self;
}
 @end
@implementation DeploymentInfo
-(id) initWithInfo:(DeploymentBaseInfo*) info
      content:(DeploymentResourcesInfo*)content { 
     self.info = info;               
     self.content = content;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self info])
    {
        [result setValue:[[self info] dictionary]forKey:@"info"];
    }
    if([self content])
    {
        [result setValue:[[self content] dictionary]forKey:@"content"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.info = [[DeploymentBaseInfo alloc]initWithDic:[dictionary objectForKey:@"info"]];
    self.content = [[DeploymentResourcesInfo alloc]initWithDic:[dictionary objectForKey:@"content"]];
    return self;
}
 @end
@implementation VmKeypairCreateTask
-(id) initWithTasks:(NSArray<ResourceTFInfo*>*) tasks { 
     self.tasks = tasks;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self tasks])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self tasks] count]; i++) {
            ResourceTFInfo* item = [[self tasks] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"tasks"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* tasksArray = [dictionary objectForKey:@"tasks"];
    if(tasksArray&&![tasksArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [tasksArray count];i++)
        {
            ResourceTFInfo* item = [[ResourceTFInfo alloc]initWithDic:[tasksArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.tasks = propertyArray;
    }
    return self;
}
 @end
@implementation VmKeypairItem
-(id) initWithKeypair:(KeypairInfo*) keypair { 
     self.keypair = keypair;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self keypair])
    {
        [result setValue:[[self keypair] dictionary]forKey:@"keypair"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.keypair = [[KeypairInfo alloc]initWithDic:[dictionary objectForKey:@"keypair"]];
    return self;
}
 @end
@implementation VmKeypairCollection
-(id) initWithKeypairs:(NSArray<KeypairInfo*>*) keypairs { 
     self.keypairs = keypairs;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self keypairs])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self keypairs] count]; i++) {
            KeypairInfo* item = [[self keypairs] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"keypairs"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* keypairsArray = [dictionary objectForKey:@"keypairs"];
    if(keypairsArray&&![keypairsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [keypairsArray count];i++)
        {
            KeypairInfo* item = [[KeypairInfo alloc]initWithDic:[keypairsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.keypairs = propertyArray;
    }
    return self;
}
 @end
@implementation TransferSimpleTaskInfo
-(id) initWithName:(NSString*) name
      srcAddress:(SimpleTaskAddressInfo*)srcAddress
      dstAddress:(SimpleTaskAddressInfo*)dstAddress { 
     self.name = name;               
     self.srcAddress = srcAddress;               
     self.dstAddress = dstAddress;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self srcAddress])
    {
        [result setValue:[[self srcAddress] dictionary]forKey:@"srcAddress"];
    }
    if([self dstAddress])
    {
        [result setValue:[[self dstAddress] dictionary]forKey:@"dstAddress"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.name = [dictionary objectForKey:@"name"];
    self.srcAddress = [[SimpleTaskAddressInfo alloc]initWithDic:[dictionary objectForKey:@"srcAddress"]];
    self.dstAddress = [[SimpleTaskAddressInfo alloc]initWithDic:[dictionary objectForKey:@"dstAddress"]];
    return self;
}
 @end
@implementation TransferTaskFailedDetailInfo
-(id) initWithCount:(NSString*) count
      files:(NSArray<TransferTaskFailedFileInfo*>*)files { 
     self.count = count;               
     self.files = files;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self count])
    {
        [result setValue:[self count] forKey:@"count"];
    }
    if([self files])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self files] count]; i++) {
            TransferTaskFailedFileInfo* item = [[self files] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"files"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.count = [dictionary objectForKey:@"count"];
    NSArray* filesArray = [dictionary objectForKey:@"files"];
    if(filesArray&&![filesArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [filesArray count];i++)
        {
            TransferTaskFailedFileInfo* item = [[TransferTaskFailedFileInfo alloc]initWithDic:[filesArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.files = propertyArray;
    }
    return self;
}
 @end
@implementation TransferTaskInfoWithID
-(id) initWithId:(NSString*) idValue
      name:(NSString*)name
      srcAddress:(TaskAddressInfo*)srcAddress
      dstAddress:(TaskAddressInfo*)dstAddress { 
     self.idValue = idValue;               
     self.name = name;               
     self.srcAddress = srcAddress;               
     self.dstAddress = dstAddress;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self srcAddress])
    {
        [result setValue:[[self srcAddress] dictionary]forKey:@"srcAddress"];
    }
    if([self dstAddress])
    {
        [result setValue:[[self dstAddress] dictionary]forKey:@"dstAddress"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.idValue = [dictionary objectForKey:@"id"];
    self.name = [dictionary objectForKey:@"name"];
    self.srcAddress = [[TaskAddressInfo alloc]initWithDic:[dictionary objectForKey:@"srcAddress"]];
    self.dstAddress = [[TaskAddressInfo alloc]initWithDic:[dictionary objectForKey:@"dstAddress"]];
    return self;
}
 @end
@implementation TransferTaskInfo
-(id) initWithName:(NSString*) name
      srcAddress:(TaskAddressInfo*)srcAddress
      dstAddress:(TaskAddressInfo*)dstAddress { 
     self.name = name;               
     self.srcAddress = srcAddress;               
     self.dstAddress = dstAddress;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self srcAddress])
    {
        [result setValue:[[self srcAddress] dictionary]forKey:@"srcAddress"];
    }
    if([self dstAddress])
    {
        [result setValue:[[self dstAddress] dictionary]forKey:@"dstAddress"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.name = [dictionary objectForKey:@"name"];
    self.srcAddress = [[TaskAddressInfo alloc]initWithDic:[dictionary objectForKey:@"srcAddress"]];
    self.dstAddress = [[TaskAddressInfo alloc]initWithDic:[dictionary objectForKey:@"dstAddress"]];
    return self;
}
 @end
@implementation DataMediaInfo
-(id) initWithCloud:(CloudInfo*) cloud
      datasource:(DatasourceInfo*)datasource
      schema:(NSString*)schema
      tables:(NSArray<NSString*>*)tables { 
     self.cloud = cloud;               
     self.datasource = datasource;               
     self.schema = schema;               
     self.tables = tables;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self cloud])
    {
        [result setValue:[[self cloud] dictionary]forKey:@"cloud"];
    }
    if([self datasource])
    {
        [result setValue:[[self datasource] dictionary]forKey:@"datasource"];
    }
    if([self schema])
    {
        [result setValue:[self schema] forKey:@"schema"];
    }
    if([self tables])
    {
        [result setValue:[self tables] forKey:@"tables"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.cloud = [[CloudInfo alloc]initWithDic:[dictionary objectForKey:@"cloud"]];
    self.datasource = [[DatasourceInfo alloc]initWithDic:[dictionary objectForKey:@"datasource"]];
    self.schema = [dictionary objectForKey:@"schema"];
    self.tables = [dictionary objectForKey:@"tables"];
    return self;
}
 @end
@implementation ChannelInfo
-(id) initWithInfo:(ChannelBaseInfo*) info
      source:(DataMediaInfo*)source
      target:(DataMediaInfo*)target { 
     self.info = info;               
     self.source = source;               
     self.target = target;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self info])
    {
        [result setValue:[[self info] dictionary]forKey:@"info"];
    }
    if([self source])
    {
        [result setValue:[[self source] dictionary]forKey:@"source"];
    }
    if([self target])
    {
        [result setValue:[[self target] dictionary]forKey:@"target"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.info = [[ChannelBaseInfo alloc]initWithDic:[dictionary objectForKey:@"info"]];
    self.source = [[DataMediaInfo alloc]initWithDic:[dictionary objectForKey:@"source"]];
    self.target = [[DataMediaInfo alloc]initWithDic:[dictionary objectForKey:@"target"]];
    return self;
}
 @end
@implementation Error
-(id) initWithInfo:(Info*) info
      payload:(NSObject*)payload { 
     self.info = info;               
     self.payload = payload;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self info])
    {
        [result setValue:[[self info] dictionary]forKey:@"info"];
    }
    if([self payload])
    {
        [result setValue:[self payload] forKey:@"payload"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.info = [[Info alloc]initWithDic:[dictionary objectForKey:@"info"]];
    self.payload = [dictionary objectForKey:@"payload"];
    return self;
}
 @end
@implementation CreateDatasource
-(id) initWithDatasource:(DatasourceInfo*) datasource { 
     self.datasource = datasource;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self datasource])
    {
        [result setValue:[[self datasource] dictionary]forKey:@"datasource"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.datasource = [[DatasourceInfo alloc]initWithDic:[dictionary objectForKey:@"datasource"]];
    return self;
}
 @end
@implementation ReturnError
-(id) initWithError:(Error*) error { 
     self.error = error;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self error])
    {
        [result setValue:[[self error] dictionary]forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.error = [[Error alloc]initWithDic:[dictionary objectForKey:@"error"]];
    return self;
}
 @end
@implementation VpcSecurityGroupCollection
-(id) initWithSecurityGroups:(NSArray<SecurityGroupInfo*>*) securityGroups { 
     self.securityGroups = securityGroups;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self securityGroups])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self securityGroups] count]; i++) {
            SecurityGroupInfo* item = [[self securityGroups] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"securityGroups"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* securityGroupsArray = [dictionary objectForKey:@"securityGroups"];
    if(securityGroupsArray&&![securityGroupsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [securityGroupsArray count];i++)
        {
            SecurityGroupInfo* item = [[SecurityGroupInfo alloc]initWithDic:[securityGroupsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.securityGroups = propertyArray;
    }
    return self;
}
 @end
@implementation VpcSecurityGroupCreateTask
-(id) initWithTask:(ResourceTFInfo*) task { 
     self.task = task;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self task])
    {
        [result setValue:[[self task] dictionary]forKey:@"task"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.task = [[ResourceTFInfo alloc]initWithDic:[dictionary objectForKey:@"task"]];
    return self;
}
 @end
@implementation SecurityGroupDetail
-(id) initWithCloudID:(NSString*) cloudID
      idValue:(NSString*)idValue
      name:(NSString*)name
      descriptionValue:(NSString*)descriptionValue
      vpcId:(NSString*)vpcId
      createdTime:(NSString*)createdTime
      permissions:(NSArray<PermissionType*>*)permissions { 
     self.cloudID = cloudID;               
     self.idValue = idValue;               
     self.name = name;               
     self.descriptionValue = descriptionValue;               
     self.vpcId = vpcId;               
     self.createdTime = createdTime;               
     self.permissions = permissions;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self cloudID])
    {
        [result setValue:[self cloudID] forKey:@"cloudID"];
    }
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self vpcId])
    {
        [result setValue:[self vpcId] forKey:@"vpcId"];
    }
    if([self createdTime])
    {
        [result setValue:[self createdTime] forKey:@"createdTime"];
    }
    if([self permissions])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self permissions] count]; i++) {
            PermissionType* item = [[self permissions] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"permissions"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.cloudID = [dictionary objectForKey:@"cloudID"];
    self.idValue = [dictionary objectForKey:@"id"];
    self.name = [dictionary objectForKey:@"name"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.vpcId = [dictionary objectForKey:@"vpcId"];
    self.createdTime = [dictionary objectForKey:@"createdTime"];
    NSArray* permissionsArray = [dictionary objectForKey:@"permissions"];
    if(permissionsArray&&![permissionsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [permissionsArray count];i++)
        {
            PermissionType* item = [[PermissionType alloc]initWithDic:[permissionsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.permissions = propertyArray;
    }
    return self;
}
 @end
@implementation CreateRDSAccountReq
-(id) initWithAccount:(CreateRDSAccount*) account { 
     self.account = account;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self account])
    {
        [result setValue:[[self account] dictionary]forKey:@"account"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.account = [[CreateRDSAccount alloc]initWithDic:[dictionary objectForKey:@"account"]];
    return self;
}
 @end
@implementation RdsAccountInfo
-(id) initWithName:(NSString*) name
      status:(NSString*)status
      accountPrivileges:(NSArray<RdsAccountPrivilege*>*)accountPrivileges
      cloudID:(NSString*)cloudID { 
     self.name = name;               
     self.status = status;               
     self.accountPrivileges = accountPrivileges;               
     self.cloudID = cloudID;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    if([self accountPrivileges])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self accountPrivileges] count]; i++) {
            RdsAccountPrivilege* item = [[self accountPrivileges] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"accountPrivileges"];
    }
    if([self cloudID])
    {
        [result setValue:[self cloudID] forKey:@"cloudID"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.name = [dictionary objectForKey:@"name"];
    self.status = [dictionary objectForKey:@"status"];
    NSArray* accountPrivilegesArray = [dictionary objectForKey:@"accountPrivileges"];
    if(accountPrivilegesArray&&![accountPrivilegesArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [accountPrivilegesArray count];i++)
        {
            RdsAccountPrivilege* item = [[RdsAccountPrivilege alloc]initWithDic:[accountPrivilegesArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.accountPrivileges = propertyArray;
    }
    self.cloudID = [dictionary objectForKey:@"cloudID"];
    return self;
}
 @end
@implementation CloudInfoListResp
-(id) initWithClouds:(NSArray<CloudInfo*>*) clouds { 
     self.clouds = clouds;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self clouds])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self clouds] count]; i++) {
            CloudInfo* item = [[self clouds] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"clouds"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* cloudsArray = [dictionary objectForKey:@"clouds"];
    if(cloudsArray&&![cloudsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [cloudsArray count];i++)
        {
            CloudInfo* item = [[CloudInfo alloc]initWithDic:[cloudsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.clouds = propertyArray;
    }
    return self;
}
 @end
@implementation CloudInfoResp
-(id) initWithCloud:(CloudInfo*) cloud { 
     self.cloud = cloud;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self cloud])
    {
        [result setValue:[[self cloud] dictionary]forKey:@"cloud"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.cloud = [[CloudInfo alloc]initWithDic:[dictionary objectForKey:@"cloud"]];
    return self;
}
 @end
@implementation UserNotFoundException
-(id) initWithMessage:(NSString*) message
      code:(NSNumber*)code
      payload:(Payload*)payload { 
     self.message = message;               
     self.code = code;               
     self.payload = payload;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self message])
    {
        [result setValue:[self message] forKey:@"message"];
    }
    if([self code])
    {
        [result setValue:[self code] forKey:@"code"];
    }
    if([self payload])
    {
        [result setValue:[[self payload] dictionary]forKey:@"payload"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.message = [dictionary objectForKey:@"message"];
    self.code = [dictionary objectForKey:@"code"];
    self.payload = [[Payload alloc]initWithDic:[dictionary objectForKey:@"payload"]];
    return self;
}
 @end
@implementation CloudNotFoundException
-(id) initWithMessage:(NSString*) message
      code:(NSNumber*)code
      payload:(Payload1*)payload { 
     self.message = message;               
     self.code = code;               
     self.payload = payload;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self message])
    {
        [result setValue:[self message] forKey:@"message"];
    }
    if([self code])
    {
        [result setValue:[self code] forKey:@"code"];
    }
    if([self payload])
    {
        [result setValue:[[self payload] dictionary]forKey:@"payload"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.message = [dictionary objectForKey:@"message"];
    self.code = [dictionary objectForKey:@"code"];
    self.payload = [[Payload1 alloc]initWithDic:[dictionary objectForKey:@"payload"]];
    return self;
}
 @end
@implementation VmInstanceTypeCollection
-(id) initWithInstanceTypes:(NSArray<InstanceTypeInfo*>*) instanceTypes { 
     self.instanceTypes = instanceTypes;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self instanceTypes])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self instanceTypes] count]; i++) {
            InstanceTypeInfo* item = [[self instanceTypes] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"instanceTypes"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* instanceTypesArray = [dictionary objectForKey:@"instanceTypes"];
    if(instanceTypesArray&&![instanceTypesArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [instanceTypesArray count];i++)
        {
            InstanceTypeInfo* item = [[InstanceTypeInfo alloc]initWithDic:[instanceTypesArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.instanceTypes = propertyArray;
    }
    return self;
}
 @end
@implementation VpcEipCreateTask
-(id) initWithTask:(ResourceTFInfo*) task { 
     self.task = task;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self task])
    {
        [result setValue:[[self task] dictionary]forKey:@"task"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.task = [[ResourceTFInfo alloc]initWithDic:[dictionary objectForKey:@"task"]];
    return self;
}
 @end
@implementation VpcEipItem
-(id) initWithEipAddress:(EipAddress*) eipAddress { 
     self.eipAddress = eipAddress;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self eipAddress])
    {
        [result setValue:[[self eipAddress] dictionary]forKey:@"eipAddress"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.eipAddress = [[EipAddress alloc]initWithDic:[dictionary objectForKey:@"eipAddress"]];
    return self;
}
 @end
@implementation VpcEipCollection
-(id) initWithEipAddresses:(NSArray<EipAddress*>*) eipAddresses { 
     self.eipAddresses = eipAddresses;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self eipAddresses])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self eipAddresses] count]; i++) {
            EipAddress* item = [[self eipAddresses] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"eipAddresses"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* eipAddressesArray = [dictionary objectForKey:@"eipAddresses"];
    if(eipAddressesArray&&![eipAddressesArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [eipAddressesArray count];i++)
        {
            EipAddress* item = [[EipAddress alloc]initWithDic:[eipAddressesArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.eipAddresses = propertyArray;
    }
    return self;
}
 @end
@implementation DiskCreateTask
-(id) initWithTask:(ResourceTFInfo*) task { 
     self.task = task;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self task])
    {
        [result setValue:[[self task] dictionary]forKey:@"task"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.task = [[ResourceTFInfo alloc]initWithDic:[dictionary objectForKey:@"task"]];
    return self;
}
 @end
@implementation CloudDataDisk
-(id) initWithCloudID:(NSString*) cloudID
      idValue:(NSString*)idValue
      name:(NSString*)name
      descriptionValue:(NSString*)descriptionValue
      diskSizeGB:(NSNumber*)diskSizeGB
      attachments:(NSArray<ArrayDiskAttachment*>*)attachments
      az:(NSString*)az
      diskType:(NSString*)diskType
      snapshotId:(NSString*)snapshotId
      status:(NSString*)status
      tags:(NSArray<Tag*>*)tags
      createdTime:(NSString*)createdTime { 
     self.cloudID = cloudID;               
     self.idValue = idValue;               
     self.name = name;               
     self.descriptionValue = descriptionValue;               
     self.diskSizeGB = diskSizeGB;               
     self.attachments = attachments;               
     self.az = az;               
     self.diskType = diskType;               
     self.snapshotId = snapshotId;               
     self.status = status;               
     self.tags = tags;               
     self.createdTime = createdTime;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self cloudID])
    {
        [result setValue:[self cloudID] forKey:@"cloudID"];
    }
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self diskSizeGB])
    {
        [result setValue:[self diskSizeGB] forKey:@"diskSizeGB"];
    }
    if([self attachments])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self attachments] count]; i++) {
            ArrayDiskAttachment* item = [[self attachments] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"attachments"];
    }
    if([self az])
    {
        [result setValue:[self az] forKey:@"az"];
    }
    if([self diskType])
    {
        [result setValue:[self diskType] forKey:@"diskType"];
    }
    if([self snapshotId])
    {
        [result setValue:[self snapshotId] forKey:@"snapshotId"];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    if([self tags])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self tags] count]; i++) {
            Tag* item = [[self tags] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"tags"];
    }
    if([self createdTime])
    {
        [result setValue:[self createdTime] forKey:@"createdTime"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.cloudID = [dictionary objectForKey:@"cloudID"];
    self.idValue = [dictionary objectForKey:@"id"];
    self.name = [dictionary objectForKey:@"name"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.diskSizeGB = [dictionary objectForKey:@"diskSizeGB"];
    NSArray* attachmentsArray = [dictionary objectForKey:@"attachments"];
    if(attachmentsArray&&![attachmentsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [attachmentsArray count];i++)
        {
            ArrayDiskAttachment* item = [[ArrayDiskAttachment alloc]initWithDic:[attachmentsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.attachments = propertyArray;
    }
    self.az = [dictionary objectForKey:@"az"];
    self.diskType = [dictionary objectForKey:@"diskType"];
    self.snapshotId = [dictionary objectForKey:@"snapshotId"];
    self.status = [dictionary objectForKey:@"status"];
    NSArray* tagsArray = [dictionary objectForKey:@"tags"];
    if(tagsArray&&![tagsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [tagsArray count];i++)
        {
            Tag* item = [[Tag alloc]initWithDic:[tagsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.tags = propertyArray;
    }
    self.createdTime = [dictionary objectForKey:@"createdTime"];
    return self;
}
 @end
@implementation DiskItem
-(id) initWithDisk:(CloudDataDisk*) disk { 
     self.disk = disk;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self disk])
    {
        [result setValue:[[self disk] dictionary]forKey:@"disk"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.disk = [[CloudDataDisk alloc]initWithDic:[dictionary objectForKey:@"disk"]];
    return self;
}
 @end
@implementation NetInterfaceInfo
-(id) initWithId:(NSString*) idValue
      name:(NSString*)name
      descriptionValue:(NSString*)descriptionValue
      vpcId:(NSString*)vpcId
      type:(NSString*)type
      subnetId:(NSString*)subnetId
      az:(NSString*)az
      associatedPublicIp:(NSString*)associatedPublicIp
      privateIpAddress:(NSString*)privateIpAddress
      macAddress:(NSString*)macAddress
      instanceId:(NSString*)instanceId
      createdTime:(NSString*)createdTime
      cloudID:(NSString*)cloudID
      securityGroupIds:(NSArray<NSString*>*)securityGroupIds
      privateIps:(NSArray<PrivateIp*>*)privateIps { 
     self.idValue = idValue;               
     self.name = name;               
     self.descriptionValue = descriptionValue;               
     self.vpcId = vpcId;               
     self.type = type;               
     self.subnetId = subnetId;               
     self.az = az;               
     self.associatedPublicIp = associatedPublicIp;               
     self.privateIpAddress = privateIpAddress;               
     self.macAddress = macAddress;               
     self.instanceId = instanceId;               
     self.createdTime = createdTime;               
     self.cloudID = cloudID;               
     self.securityGroupIds = securityGroupIds;               
     self.privateIps = privateIps;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self vpcId])
    {
        [result setValue:[self vpcId] forKey:@"vpcId"];
    }
    if([self type])
    {
        [result setValue:[self type] forKey:@"type"];
    }
    if([self subnetId])
    {
        [result setValue:[self subnetId] forKey:@"subnetId"];
    }
    if([self az])
    {
        [result setValue:[self az] forKey:@"az"];
    }
    if([self associatedPublicIp])
    {
        [result setValue:[self associatedPublicIp] forKey:@"associatedPublicIp"];
    }
    if([self privateIpAddress])
    {
        [result setValue:[self privateIpAddress] forKey:@"privateIpAddress"];
    }
    if([self macAddress])
    {
        [result setValue:[self macAddress] forKey:@"macAddress"];
    }
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    if([self createdTime])
    {
        [result setValue:[self createdTime] forKey:@"createdTime"];
    }
    if([self cloudID])
    {
        [result setValue:[self cloudID] forKey:@"cloudID"];
    }
    if([self securityGroupIds])
    {
        [result setValue:[self securityGroupIds] forKey:@"securityGroupIds"];
    }
    if([self privateIps])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self privateIps] count]; i++) {
            PrivateIp* item = [[self privateIps] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"privateIps"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.idValue = [dictionary objectForKey:@"id"];
    self.name = [dictionary objectForKey:@"name"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.vpcId = [dictionary objectForKey:@"vpcId"];
    self.type = [dictionary objectForKey:@"type"];
    self.subnetId = [dictionary objectForKey:@"subnetId"];
    self.az = [dictionary objectForKey:@"az"];
    self.associatedPublicIp = [dictionary objectForKey:@"associatedPublicIp"];
    self.privateIpAddress = [dictionary objectForKey:@"privateIpAddress"];
    self.macAddress = [dictionary objectForKey:@"macAddress"];
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    self.createdTime = [dictionary objectForKey:@"createdTime"];
    self.cloudID = [dictionary objectForKey:@"cloudID"];
    self.securityGroupIds = [dictionary objectForKey:@"securityGroupIds"];
    NSArray* privateIpsArray = [dictionary objectForKey:@"privateIps"];
    if(privateIpsArray&&![privateIpsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [privateIpsArray count];i++)
        {
            PrivateIp* item = [[PrivateIp alloc]initWithDic:[privateIpsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.privateIps = propertyArray;
    }
    return self;
}
 @end
@implementation VpcNetworkInterfaceCollection
-(id) initWithNetInterfaces:(NSArray<NetInterfaceInfo*>*) netInterfaces { 
     self.netInterfaces = netInterfaces;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self netInterfaces])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self netInterfaces] count]; i++) {
            NetInterfaceInfo* item = [[self netInterfaces] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"netInterfaces"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* netInterfacesArray = [dictionary objectForKey:@"netInterfaces"];
    if(netInterfacesArray&&![netInterfacesArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [netInterfacesArray count];i++)
        {
            NetInterfaceInfo* item = [[NetInterfaceInfo alloc]initWithDic:[netInterfacesArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.netInterfaces = propertyArray;
    }
    return self;
}
 @end
@implementation VpcSlbCreateTask
-(id) initWithTask:(ResourceTFInfo*) task { 
     self.task = task;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self task])
    {
        [result setValue:[[self task] dictionary]forKey:@"task"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.task = [[ResourceTFInfo alloc]initWithDic:[dictionary objectForKey:@"task"]];
    return self;
}
 @end
@implementation SlbInfoDetail
-(id) initWithCloudID:(NSString*) cloudID
      idValue:(NSString*)idValue
      name:(NSString*)name
      status:(NSString*)status
      ipAddress:(NSString*)ipAddress
      addressType:(NSString*)addressType
      subnetId:(NSString*)subnetId
      vpc:(NSString*)vpc
      networkType:(NSString*)networkType
      masterAz:(NSString*)masterAz
      slaveAz:(NSString*)slaveAz
      createdTime:(NSString*)createdTime
      listenerPortsAndProtocol:(NSArray<ListenerPortsAndProtocol*>*)listenerPortsAndProtocol
      backendServers:(NSArray<BackendServer2*>*)backendServers
      loadBalancerSpec:(NSString*)loadBalancerSpec { 
     self.cloudID = cloudID;               
     self.idValue = idValue;               
     self.name = name;               
     self.status = status;               
     self.ipAddress = ipAddress;               
     self.addressType = addressType;               
     self.subnetId = subnetId;               
     self.vpc = vpc;               
     self.networkType = networkType;               
     self.masterAz = masterAz;               
     self.slaveAz = slaveAz;               
     self.createdTime = createdTime;               
     self.listenerPortsAndProtocol = listenerPortsAndProtocol;               
     self.backendServers = backendServers;               
     self.loadBalancerSpec = loadBalancerSpec;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self cloudID])
    {
        [result setValue:[self cloudID] forKey:@"cloudID"];
    }
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    if([self ipAddress])
    {
        [result setValue:[self ipAddress] forKey:@"ipAddress"];
    }
    if([self addressType])
    {
        [result setValue:[self addressType] forKey:@"addressType"];
    }
    if([self subnetId])
    {
        [result setValue:[self subnetId] forKey:@"subnetId"];
    }
    if([self vpc])
    {
        [result setValue:[self vpc] forKey:@"vpc"];
    }
    if([self networkType])
    {
        [result setValue:[self networkType] forKey:@"networkType"];
    }
    if([self masterAz])
    {
        [result setValue:[self masterAz] forKey:@"masterAz"];
    }
    if([self slaveAz])
    {
        [result setValue:[self slaveAz] forKey:@"slaveAz"];
    }
    if([self createdTime])
    {
        [result setValue:[self createdTime] forKey:@"createdTime"];
    }
    if([self listenerPortsAndProtocol])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self listenerPortsAndProtocol] count]; i++) {
            ListenerPortsAndProtocol* item = [[self listenerPortsAndProtocol] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"listenerPortsAndProtocol"];
    }
    if([self backendServers])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self backendServers] count]; i++) {
            BackendServer2* item = [[self backendServers] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"backendServers"];
    }
    if([self loadBalancerSpec])
    {
        [result setValue:[self loadBalancerSpec] forKey:@"loadBalancerSpec"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.cloudID = [dictionary objectForKey:@"cloudID"];
    self.idValue = [dictionary objectForKey:@"id"];
    self.name = [dictionary objectForKey:@"name"];
    self.status = [dictionary objectForKey:@"status"];
    self.ipAddress = [dictionary objectForKey:@"ipAddress"];
    self.addressType = [dictionary objectForKey:@"addressType"];
    self.subnetId = [dictionary objectForKey:@"subnetId"];
    self.vpc = [dictionary objectForKey:@"vpc"];
    self.networkType = [dictionary objectForKey:@"networkType"];
    self.masterAz = [dictionary objectForKey:@"masterAz"];
    self.slaveAz = [dictionary objectForKey:@"slaveAz"];
    self.createdTime = [dictionary objectForKey:@"createdTime"];
    NSArray* listenerPortsAndProtocolArray = [dictionary objectForKey:@"listenerPortsAndProtocol"];
    if(listenerPortsAndProtocolArray&&![listenerPortsAndProtocolArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [listenerPortsAndProtocolArray count];i++)
        {
            ListenerPortsAndProtocol* item = [[ListenerPortsAndProtocol alloc]initWithDic:[listenerPortsAndProtocolArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.listenerPortsAndProtocol = propertyArray;
    }
    NSArray* backendServersArray = [dictionary objectForKey:@"backendServers"];
    if(backendServersArray&&![backendServersArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [backendServersArray count];i++)
        {
            BackendServer2* item = [[BackendServer2 alloc]initWithDic:[backendServersArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.backendServers = propertyArray;
    }
    self.loadBalancerSpec = [dictionary objectForKey:@"loadBalancerSpec"];
    return self;
}
 @end
@implementation VpcSlbCollection
-(id) initWithSlbs:(NSArray<SlbInfo*>*) slbs { 
     self.slbs = slbs;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self slbs])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self slbs] count]; i++) {
            SlbInfo* item = [[self slbs] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"slbs"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* slbsArray = [dictionary objectForKey:@"slbs"];
    if(slbsArray&&![slbsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [slbsArray count];i++)
        {
            SlbInfo* item = [[SlbInfo alloc]initWithDic:[slbsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.slbs = propertyArray;
    }
    return self;
}
 @end
@implementation VpcSlbItem
-(id) initWithSlb:(SlbInfoDetail*) slb { 
     self.slb = slb;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self slb])
    {
        [result setValue:[[self slb] dictionary]forKey:@"slb"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.slb = [[SlbInfoDetail alloc]initWithDic:[dictionary objectForKey:@"slb"]];
    return self;
}
 @end
@implementation VpcVServerGroupCollection
-(id) initWithVserverGroups:(NSArray<VserverGroupInfo*>*) vserverGroups { 
     self.vserverGroups = vserverGroups;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self vserverGroups])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self vserverGroups] count]; i++) {
            VserverGroupInfo* item = [[self vserverGroups] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"vserverGroups"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* vserverGroupsArray = [dictionary objectForKey:@"vserverGroups"];
    if(vserverGroupsArray&&![vserverGroupsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [vserverGroupsArray count];i++)
        {
            VserverGroupInfo* item = [[VserverGroupInfo alloc]initWithDic:[vserverGroupsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.vserverGroups = propertyArray;
    }
    return self;
}
 @end
@implementation VserverGroupDetail
-(id) initWithCloudID:(NSString*) cloudID
      vserverGroupId:(NSString*)vserverGroupId
      vserverGroupName:(NSString*)vserverGroupName
      backendServers:(NSArray<VserverGroupBackendServer*>*)backendServers { 
     self.cloudID = cloudID;               
     self.vserverGroupId = vserverGroupId;               
     self.vserverGroupName = vserverGroupName;               
     self.backendServers = backendServers;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self cloudID])
    {
        [result setValue:[self cloudID] forKey:@"cloudID"];
    }
    if([self vserverGroupId])
    {
        [result setValue:[self vserverGroupId] forKey:@"vserverGroupId"];
    }
    if([self vserverGroupName])
    {
        [result setValue:[self vserverGroupName] forKey:@"vserverGroupName"];
    }
    if([self backendServers])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self backendServers] count]; i++) {
            VserverGroupBackendServer* item = [[self backendServers] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"backendServers"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.cloudID = [dictionary objectForKey:@"cloudID"];
    self.vserverGroupId = [dictionary objectForKey:@"vserverGroupId"];
    self.vserverGroupName = [dictionary objectForKey:@"vserverGroupName"];
    NSArray* backendServersArray = [dictionary objectForKey:@"backendServers"];
    if(backendServersArray&&![backendServersArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [backendServersArray count];i++)
        {
            VserverGroupBackendServer* item = [[VserverGroupBackendServer alloc]initWithDic:[backendServersArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.backendServers = propertyArray;
    }
    return self;
}
 @end
@implementation VmImageCollection
-(id) initWithImages:(NSArray<ImageInfo*>*) images { 
     self.images = images;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self images])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self images] count]; i++) {
            ImageInfo* item = [[self images] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"images"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* imagesArray = [dictionary objectForKey:@"images"];
    if(imagesArray&&![imagesArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [imagesArray count];i++)
        {
            ImageInfo* item = [[ImageInfo alloc]initWithDic:[imagesArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.images = propertyArray;
    }
    return self;
}
 @end
@implementation RdsSpecification
-(id) initWithInstanceClass:(NSString*) instanceClass
      cpu:(NSNumber*)cpu
      memoryGB:(NSNumber*)memoryGB
      disk:(RdsSpecificationDisk*)disk { 
     self.instanceClass = instanceClass;               
     self.cpu = cpu;               
     self.memoryGB = memoryGB;               
     self.disk = disk;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self instanceClass])
    {
        [result setValue:[self instanceClass] forKey:@"instanceClass"];
    }
    if([self cpu])
    {
        [result setValue:[self cpu] forKey:@"cpu"];
    }
    if([self memoryGB])
    {
        [result setValue:[self memoryGB] forKey:@"memoryGB"];
    }
    if([self disk])
    {
        [result setValue:[[self disk] dictionary]forKey:@"disk"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.instanceClass = [dictionary objectForKey:@"instanceClass"];
    self.cpu = [dictionary objectForKey:@"cpu"];
    self.memoryGB = [dictionary objectForKey:@"memoryGB"];
    self.disk = [[RdsSpecificationDisk alloc]initWithDic:[dictionary objectForKey:@"disk"]];
    return self;
}
 @end
@implementation RdsDBInfo
-(id) initWithName:(NSString*) name
      status:(NSString*)status
      characterSetName:(NSString*)characterSetName
      accountPrivileges:(NSArray<RdsDBAccessPrivilege*>*)accountPrivileges
      cloudID:(NSString*)cloudID { 
     self.name = name;               
     self.status = status;               
     self.characterSetName = characterSetName;               
     self.accountPrivileges = accountPrivileges;               
     self.cloudID = cloudID;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    if([self characterSetName])
    {
        [result setValue:[self characterSetName] forKey:@"characterSetName"];
    }
    if([self accountPrivileges])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self accountPrivileges] count]; i++) {
            RdsDBAccessPrivilege* item = [[self accountPrivileges] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"accountPrivileges"];
    }
    if([self cloudID])
    {
        [result setValue:[self cloudID] forKey:@"cloudID"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.name = [dictionary objectForKey:@"name"];
    self.status = [dictionary objectForKey:@"status"];
    self.characterSetName = [dictionary objectForKey:@"characterSetName"];
    NSArray* accountPrivilegesArray = [dictionary objectForKey:@"accountPrivileges"];
    if(accountPrivilegesArray&&![accountPrivilegesArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [accountPrivilegesArray count];i++)
        {
            RdsDBAccessPrivilege* item = [[RdsDBAccessPrivilege alloc]initWithDic:[accountPrivilegesArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.accountPrivileges = propertyArray;
    }
    self.cloudID = [dictionary objectForKey:@"cloudID"];
    return self;
}
 @end
@implementation NetAttachment
-(id) initWithAutoDelete:(NSNumber*) autoDelete
      deviceIndex:(NSNumber*)deviceIndex
      networkInterface:(NetworkInterface*)networkInterface { 
     self.autoDelete = autoDelete;               
     self.deviceIndex = deviceIndex;               
     self.networkInterface = networkInterface;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self autoDelete])
    {
        [result setValue:[self autoDelete] forKey:@"autoDelete"];
    }
    if([self deviceIndex])
    {
        [result setValue:[self deviceIndex] forKey:@"deviceIndex"];
    }
    if([self networkInterface])
    {
        [result setValue:[[self networkInterface] dictionary]forKey:@"networkInterface"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.autoDelete = [dictionary objectForKey:@"autoDelete"];
    self.deviceIndex = [dictionary objectForKey:@"deviceIndex"];
    self.networkInterface = [[NetworkInterface alloc]initWithDic:[dictionary objectForKey:@"networkInterface"]];
    return self;
}
 @end
@implementation DeploymentResourcesInfo
-(id) initWithVms:(NSMutableDictionary<NSString*,CreateVm*>*) vms
      eips:(NSMutableDictionary<NSString*,AllocateEipAddress*>*)eips
      subnets:(NSMutableDictionary<NSString*,CreateSubnet*>*)subnets
      networkInterfaces:(NSMutableDictionary<NSString*,CreateNetInterface*>*)networkInterfaces
      slbs:(NSMutableDictionary<NSString*,SlbInfo*>*)slbs
      securityGroups:(NSMutableDictionary<NSString*,CreateSecurityGroup*>*)securityGroups
      securityGroupRules:(NSMutableDictionary<NSString*,CreateSgRule*>*)securityGroupRules
      keypairs:(NSMutableDictionary<NSString*,CreateKeypair*>*)keypairs
      disks:(NSMutableDictionary<NSString*,CreateDataDisk*>*)disks
      vpcs:(NSMutableDictionary<NSString*,VpcInfo*>*)vpcs
      vserverGroups:(NSMutableDictionary<NSString*,CreateVserverGroup*>*)vserverGroups
      httpListeners:(NSMutableDictionary<NSString*,CreateLoadBalancerHTTPListener*>*)httpListeners
      diskAttachment:(NSMutableDictionary<NSString*,DeploymentAttachDisk*>*)diskAttachment
      netInterfaceAttachment:(NSMutableDictionary<NSString*,DeploymentAttachNetInterface*>*)netInterfaceAttachment
      eipAssociate:(NSMutableDictionary<NSString*,DeploymentAssociateEip*>*)eipAssociate
      rds:(NSMutableDictionary<NSString*,CreateRDSInstance*>*)rds
      rdsDatabase:(NSMutableDictionary<NSString*,DeploymentRdsDatabase*>*)rdsDatabase
      rdsAccount:(NSMutableDictionary<NSString*,DeploymentRdsAccount*>*)rdsAccount
      rdsAccountGrant:(NSMutableDictionary<NSString*,DeploymentAccountGrant*>*)rdsAccountGrant
      bucket:(NSMutableDictionary<NSString*,DeploymentBucket*>*)bucket
      variables:(NSMutableDictionary<NSString*,NSString*>*)variables { 
     self.vms = vms;               
     self.eips = eips;               
     self.subnets = subnets;               
     self.networkInterfaces = networkInterfaces;               
     self.slbs = slbs;               
     self.securityGroups = securityGroups;               
     self.securityGroupRules = securityGroupRules;               
     self.keypairs = keypairs;               
     self.disks = disks;               
     self.vpcs = vpcs;               
     self.vserverGroups = vserverGroups;               
     self.httpListeners = httpListeners;               
     self.diskAttachment = diskAttachment;               
     self.netInterfaceAttachment = netInterfaceAttachment;               
     self.eipAssociate = eipAssociate;               
     self.rds = rds;               
     self.rdsDatabase = rdsDatabase;               
     self.rdsAccount = rdsAccount;               
     self.rdsAccountGrant = rdsAccountGrant;               
     self.bucket = bucket;               
     self.variables = variables;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self vms])
    {
            NSMutableDictionary* vmsDictionary = [[NSMutableDictionary alloc] init];
            NSArray *dicVmsKeys = [[self vms] allKeys];
            for (NSString* dicVmsKey in dicVmsKeys) {
                CreateVm* createVmDictionaryItem = [[self vms] valueForKey:dicVmsKey];
                if(createVmDictionaryItem)
                {
                    [vmsDictionary setValue:[createVmDictionaryItem dictionary] forKey:dicVmsKey];
                }
            }
            if(vmsDictionary && [vmsDictionary count]>0)
            {
                [result setValue:vmsDictionary forKey:@"vms"];
            }
    }
    if([self eips])
    {
            NSMutableDictionary* eipsDictionary = [[NSMutableDictionary alloc] init];
            NSArray *dicEipsKeys = [[self eips] allKeys];
            for (NSString* dicEipsKey in dicEipsKeys) {
                AllocateEipAddress* allocateEipAddressDictionaryItem = [[self eips] valueForKey:dicEipsKey];
                if(allocateEipAddressDictionaryItem)
                {
                    [eipsDictionary setValue:[allocateEipAddressDictionaryItem dictionary] forKey:dicEipsKey];
                }
            }
            if(eipsDictionary && [eipsDictionary count]>0)
            {
                [result setValue:eipsDictionary forKey:@"eips"];
            }
    }
    if([self subnets])
    {
            NSMutableDictionary* subnetsDictionary = [[NSMutableDictionary alloc] init];
            NSArray *dicSubnetsKeys = [[self subnets] allKeys];
            for (NSString* dicSubnetsKey in dicSubnetsKeys) {
                CreateSubnet* createSubnetDictionaryItem = [[self subnets] valueForKey:dicSubnetsKey];
                if(createSubnetDictionaryItem)
                {
                    [subnetsDictionary setValue:[createSubnetDictionaryItem dictionary] forKey:dicSubnetsKey];
                }
            }
            if(subnetsDictionary && [subnetsDictionary count]>0)
            {
                [result setValue:subnetsDictionary forKey:@"subnets"];
            }
    }
    if([self networkInterfaces])
    {
            NSMutableDictionary* networkInterfacesDictionary = [[NSMutableDictionary alloc] init];
            NSArray *dicNetworkInterfacesKeys = [[self networkInterfaces] allKeys];
            for (NSString* dicNetworkInterfacesKey in dicNetworkInterfacesKeys) {
                CreateNetInterface* createNetInterfaceDictionaryItem = [[self networkInterfaces] valueForKey:dicNetworkInterfacesKey];
                if(createNetInterfaceDictionaryItem)
                {
                    [networkInterfacesDictionary setValue:[createNetInterfaceDictionaryItem dictionary] forKey:dicNetworkInterfacesKey];
                }
            }
            if(networkInterfacesDictionary && [networkInterfacesDictionary count]>0)
            {
                [result setValue:networkInterfacesDictionary forKey:@"networkInterfaces"];
            }
    }
    if([self slbs])
    {
            NSMutableDictionary* slbsDictionary = [[NSMutableDictionary alloc] init];
            NSArray *dicSlbsKeys = [[self slbs] allKeys];
            for (NSString* dicSlbsKey in dicSlbsKeys) {
                SlbInfo* slbInfoDictionaryItem = [[self slbs] valueForKey:dicSlbsKey];
                if(slbInfoDictionaryItem)
                {
                    [slbsDictionary setValue:[slbInfoDictionaryItem dictionary] forKey:dicSlbsKey];
                }
            }
            if(slbsDictionary && [slbsDictionary count]>0)
            {
                [result setValue:slbsDictionary forKey:@"slbs"];
            }
    }
    if([self securityGroups])
    {
            NSMutableDictionary* securityGroupsDictionary = [[NSMutableDictionary alloc] init];
            NSArray *dicSecurityGroupsKeys = [[self securityGroups] allKeys];
            for (NSString* dicSecurityGroupsKey in dicSecurityGroupsKeys) {
                CreateSecurityGroup* createSecurityGroupDictionaryItem = [[self securityGroups] valueForKey:dicSecurityGroupsKey];
                if(createSecurityGroupDictionaryItem)
                {
                    [securityGroupsDictionary setValue:[createSecurityGroupDictionaryItem dictionary] forKey:dicSecurityGroupsKey];
                }
            }
            if(securityGroupsDictionary && [securityGroupsDictionary count]>0)
            {
                [result setValue:securityGroupsDictionary forKey:@"securityGroups"];
            }
    }
    if([self securityGroupRules])
    {
            NSMutableDictionary* securityGroupRulesDictionary = [[NSMutableDictionary alloc] init];
            NSArray *dicSecurityGroupRulesKeys = [[self securityGroupRules] allKeys];
            for (NSString* dicSecurityGroupRulesKey in dicSecurityGroupRulesKeys) {
                CreateSgRule* createSgRuleDictionaryItem = [[self securityGroupRules] valueForKey:dicSecurityGroupRulesKey];
                if(createSgRuleDictionaryItem)
                {
                    [securityGroupRulesDictionary setValue:[createSgRuleDictionaryItem dictionary] forKey:dicSecurityGroupRulesKey];
                }
            }
            if(securityGroupRulesDictionary && [securityGroupRulesDictionary count]>0)
            {
                [result setValue:securityGroupRulesDictionary forKey:@"securityGroupRules"];
            }
    }
    if([self keypairs])
    {
            NSMutableDictionary* keypairsDictionary = [[NSMutableDictionary alloc] init];
            NSArray *dicKeypairsKeys = [[self keypairs] allKeys];
            for (NSString* dicKeypairsKey in dicKeypairsKeys) {
                CreateKeypair* createKeypairDictionaryItem = [[self keypairs] valueForKey:dicKeypairsKey];
                if(createKeypairDictionaryItem)
                {
                    [keypairsDictionary setValue:[createKeypairDictionaryItem dictionary] forKey:dicKeypairsKey];
                }
            }
            if(keypairsDictionary && [keypairsDictionary count]>0)
            {
                [result setValue:keypairsDictionary forKey:@"keypairs"];
            }
    }
    if([self disks])
    {
            NSMutableDictionary* disksDictionary = [[NSMutableDictionary alloc] init];
            NSArray *dicDisksKeys = [[self disks] allKeys];
            for (NSString* dicDisksKey in dicDisksKeys) {
                CreateDataDisk* createDataDiskDictionaryItem = [[self disks] valueForKey:dicDisksKey];
                if(createDataDiskDictionaryItem)
                {
                    [disksDictionary setValue:[createDataDiskDictionaryItem dictionary] forKey:dicDisksKey];
                }
            }
            if(disksDictionary && [disksDictionary count]>0)
            {
                [result setValue:disksDictionary forKey:@"disks"];
            }
    }
    if([self vpcs])
    {
            NSMutableDictionary* vpcsDictionary = [[NSMutableDictionary alloc] init];
            NSArray *dicVpcsKeys = [[self vpcs] allKeys];
            for (NSString* dicVpcsKey in dicVpcsKeys) {
                VpcInfo* vpcInfoDictionaryItem = [[self vpcs] valueForKey:dicVpcsKey];
                if(vpcInfoDictionaryItem)
                {
                    [vpcsDictionary setValue:[vpcInfoDictionaryItem dictionary] forKey:dicVpcsKey];
                }
            }
            if(vpcsDictionary && [vpcsDictionary count]>0)
            {
                [result setValue:vpcsDictionary forKey:@"vpcs"];
            }
    }
    if([self vserverGroups])
    {
            NSMutableDictionary* vserverGroupsDictionary = [[NSMutableDictionary alloc] init];
            NSArray *dicVserverGroupsKeys = [[self vserverGroups] allKeys];
            for (NSString* dicVserverGroupsKey in dicVserverGroupsKeys) {
                CreateVserverGroup* createVserverGroupDictionaryItem = [[self vserverGroups] valueForKey:dicVserverGroupsKey];
                if(createVserverGroupDictionaryItem)
                {
                    [vserverGroupsDictionary setValue:[createVserverGroupDictionaryItem dictionary] forKey:dicVserverGroupsKey];
                }
            }
            if(vserverGroupsDictionary && [vserverGroupsDictionary count]>0)
            {
                [result setValue:vserverGroupsDictionary forKey:@"vserverGroups"];
            }
    }
    if([self httpListeners])
    {
            NSMutableDictionary* httpListenersDictionary = [[NSMutableDictionary alloc] init];
            NSArray *dicHttpListenersKeys = [[self httpListeners] allKeys];
            for (NSString* dicHttpListenersKey in dicHttpListenersKeys) {
                CreateLoadBalancerHTTPListener* createLoadBalancerHTTPListenerDictionaryItem = [[self httpListeners] valueForKey:dicHttpListenersKey];
                if(createLoadBalancerHTTPListenerDictionaryItem)
                {
                    [httpListenersDictionary setValue:[createLoadBalancerHTTPListenerDictionaryItem dictionary] forKey:dicHttpListenersKey];
                }
            }
            if(httpListenersDictionary && [httpListenersDictionary count]>0)
            {
                [result setValue:httpListenersDictionary forKey:@"httpListeners"];
            }
    }
    if([self diskAttachment])
    {
            NSMutableDictionary* diskAttachmentDictionary = [[NSMutableDictionary alloc] init];
            NSArray *dicDiskAttachmentKeys = [[self diskAttachment] allKeys];
            for (NSString* dicDiskAttachmentKey in dicDiskAttachmentKeys) {
                DeploymentAttachDisk* deploymentAttachDiskDictionaryItem = [[self diskAttachment] valueForKey:dicDiskAttachmentKey];
                if(deploymentAttachDiskDictionaryItem)
                {
                    [diskAttachmentDictionary setValue:[deploymentAttachDiskDictionaryItem dictionary] forKey:dicDiskAttachmentKey];
                }
            }
            if(diskAttachmentDictionary && [diskAttachmentDictionary count]>0)
            {
                [result setValue:diskAttachmentDictionary forKey:@"diskAttachment"];
            }
    }
    if([self netInterfaceAttachment])
    {
            NSMutableDictionary* netInterfaceAttachmentDictionary = [[NSMutableDictionary alloc] init];
            NSArray *dicNetInterfaceAttachmentKeys = [[self netInterfaceAttachment] allKeys];
            for (NSString* dicNetInterfaceAttachmentKey in dicNetInterfaceAttachmentKeys) {
                DeploymentAttachNetInterface* deploymentAttachNetInterfaceDictionaryItem = [[self netInterfaceAttachment] valueForKey:dicNetInterfaceAttachmentKey];
                if(deploymentAttachNetInterfaceDictionaryItem)
                {
                    [netInterfaceAttachmentDictionary setValue:[deploymentAttachNetInterfaceDictionaryItem dictionary] forKey:dicNetInterfaceAttachmentKey];
                }
            }
            if(netInterfaceAttachmentDictionary && [netInterfaceAttachmentDictionary count]>0)
            {
                [result setValue:netInterfaceAttachmentDictionary forKey:@"netInterfaceAttachment"];
            }
    }
    if([self eipAssociate])
    {
            NSMutableDictionary* eipAssociateDictionary = [[NSMutableDictionary alloc] init];
            NSArray *dicEipAssociateKeys = [[self eipAssociate] allKeys];
            for (NSString* dicEipAssociateKey in dicEipAssociateKeys) {
                DeploymentAssociateEip* deploymentAssociateEipDictionaryItem = [[self eipAssociate] valueForKey:dicEipAssociateKey];
                if(deploymentAssociateEipDictionaryItem)
                {
                    [eipAssociateDictionary setValue:[deploymentAssociateEipDictionaryItem dictionary] forKey:dicEipAssociateKey];
                }
            }
            if(eipAssociateDictionary && [eipAssociateDictionary count]>0)
            {
                [result setValue:eipAssociateDictionary forKey:@"eipAssociate"];
            }
    }
    if([self rds])
    {
            NSMutableDictionary* rdsDictionary = [[NSMutableDictionary alloc] init];
            NSArray *dicRdsKeys = [[self rds] allKeys];
            for (NSString* dicRdsKey in dicRdsKeys) {
                CreateRDSInstance* createRDSInstanceDictionaryItem = [[self rds] valueForKey:dicRdsKey];
                if(createRDSInstanceDictionaryItem)
                {
                    [rdsDictionary setValue:[createRDSInstanceDictionaryItem dictionary] forKey:dicRdsKey];
                }
            }
            if(rdsDictionary && [rdsDictionary count]>0)
            {
                [result setValue:rdsDictionary forKey:@"rds"];
            }
    }
    if([self rdsDatabase])
    {
            NSMutableDictionary* rdsDatabaseDictionary = [[NSMutableDictionary alloc] init];
            NSArray *dicRdsDatabaseKeys = [[self rdsDatabase] allKeys];
            for (NSString* dicRdsDatabaseKey in dicRdsDatabaseKeys) {
                DeploymentRdsDatabase* deploymentRdsDatabaseDictionaryItem = [[self rdsDatabase] valueForKey:dicRdsDatabaseKey];
                if(deploymentRdsDatabaseDictionaryItem)
                {
                    [rdsDatabaseDictionary setValue:[deploymentRdsDatabaseDictionaryItem dictionary] forKey:dicRdsDatabaseKey];
                }
            }
            if(rdsDatabaseDictionary && [rdsDatabaseDictionary count]>0)
            {
                [result setValue:rdsDatabaseDictionary forKey:@"rdsDatabase"];
            }
    }
    if([self rdsAccount])
    {
            NSMutableDictionary* rdsAccountDictionary = [[NSMutableDictionary alloc] init];
            NSArray *dicRdsAccountKeys = [[self rdsAccount] allKeys];
            for (NSString* dicRdsAccountKey in dicRdsAccountKeys) {
                DeploymentRdsAccount* deploymentRdsAccountDictionaryItem = [[self rdsAccount] valueForKey:dicRdsAccountKey];
                if(deploymentRdsAccountDictionaryItem)
                {
                    [rdsAccountDictionary setValue:[deploymentRdsAccountDictionaryItem dictionary] forKey:dicRdsAccountKey];
                }
            }
            if(rdsAccountDictionary && [rdsAccountDictionary count]>0)
            {
                [result setValue:rdsAccountDictionary forKey:@"rdsAccount"];
            }
    }
    if([self rdsAccountGrant])
    {
            NSMutableDictionary* rdsAccountGrantDictionary = [[NSMutableDictionary alloc] init];
            NSArray *dicRdsAccountGrantKeys = [[self rdsAccountGrant] allKeys];
            for (NSString* dicRdsAccountGrantKey in dicRdsAccountGrantKeys) {
                DeploymentAccountGrant* deploymentAccountGrantDictionaryItem = [[self rdsAccountGrant] valueForKey:dicRdsAccountGrantKey];
                if(deploymentAccountGrantDictionaryItem)
                {
                    [rdsAccountGrantDictionary setValue:[deploymentAccountGrantDictionaryItem dictionary] forKey:dicRdsAccountGrantKey];
                }
            }
            if(rdsAccountGrantDictionary && [rdsAccountGrantDictionary count]>0)
            {
                [result setValue:rdsAccountGrantDictionary forKey:@"rdsAccountGrant"];
            }
    }
    if([self bucket])
    {
            NSMutableDictionary* bucketDictionary = [[NSMutableDictionary alloc] init];
            NSArray *dicBucketKeys = [[self bucket] allKeys];
            for (NSString* dicBucketKey in dicBucketKeys) {
                DeploymentBucket* deploymentBucketDictionaryItem = [[self bucket] valueForKey:dicBucketKey];
                if(deploymentBucketDictionaryItem)
                {
                    [bucketDictionary setValue:[deploymentBucketDictionaryItem dictionary] forKey:dicBucketKey];
                }
            }
            if(bucketDictionary && [bucketDictionary count]>0)
            {
                [result setValue:bucketDictionary forKey:@"bucket"];
            }
    }
    if([self variables])
    {
        [result setValue:[self variables] forKey:@"variables"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSDictionary* vmsDictionary =  [dictionary objectForKey:@"vms"];
    if(vmsDictionary)
    {
        NSArray* vmsDictionaryKeys = [vmsDictionary allKeys];
        if(vmsDictionaryKeys && [vmsDictionaryKeys count] >0)
        {
            NSMutableDictionary* vms= [[NSMutableDictionary alloc]init];
            for (NSString* vmsDictionaryKey in vmsDictionaryKeys) {
                NSDictionary* vmsDictionaryValue = [vmsDictionary valueForKey:vmsDictionaryKey];
                if(vmsDictionaryValue)
                {
                    [vms setValue:[[CreateVm alloc]initWithDic:vmsDictionaryValue] forKey:vmsDictionaryKey];
                }
            }
            if(vms && [vms count] > 0)
            {
                self.vms = vms;
            }
        }
    }
    NSDictionary* eipsDictionary =  [dictionary objectForKey:@"eips"];
    if(eipsDictionary)
    {
        NSArray* eipsDictionaryKeys = [eipsDictionary allKeys];
        if(eipsDictionaryKeys && [eipsDictionaryKeys count] >0)
        {
            NSMutableDictionary* eips= [[NSMutableDictionary alloc]init];
            for (NSString* eipsDictionaryKey in eipsDictionaryKeys) {
                NSDictionary* eipsDictionaryValue = [eipsDictionary valueForKey:eipsDictionaryKey];
                if(eipsDictionaryValue)
                {
                    [eips setValue:[[AllocateEipAddress alloc]initWithDic:eipsDictionaryValue] forKey:eipsDictionaryKey];
                }
            }
            if(eips && [eips count] > 0)
            {
                self.eips = eips;
            }
        }
    }
    NSDictionary* subnetsDictionary =  [dictionary objectForKey:@"subnets"];
    if(subnetsDictionary)
    {
        NSArray* subnetsDictionaryKeys = [subnetsDictionary allKeys];
        if(subnetsDictionaryKeys && [subnetsDictionaryKeys count] >0)
        {
            NSMutableDictionary* subnets= [[NSMutableDictionary alloc]init];
            for (NSString* subnetsDictionaryKey in subnetsDictionaryKeys) {
                NSDictionary* subnetsDictionaryValue = [subnetsDictionary valueForKey:subnetsDictionaryKey];
                if(subnetsDictionaryValue)
                {
                    [subnets setValue:[[CreateSubnet alloc]initWithDic:subnetsDictionaryValue] forKey:subnetsDictionaryKey];
                }
            }
            if(subnets && [subnets count] > 0)
            {
                self.subnets = subnets;
            }
        }
    }
    NSDictionary* networkInterfacesDictionary =  [dictionary objectForKey:@"networkInterfaces"];
    if(networkInterfacesDictionary)
    {
        NSArray* networkInterfacesDictionaryKeys = [networkInterfacesDictionary allKeys];
        if(networkInterfacesDictionaryKeys && [networkInterfacesDictionaryKeys count] >0)
        {
            NSMutableDictionary* networkInterfaces= [[NSMutableDictionary alloc]init];
            for (NSString* networkInterfacesDictionaryKey in networkInterfacesDictionaryKeys) {
                NSDictionary* networkInterfacesDictionaryValue = [networkInterfacesDictionary valueForKey:networkInterfacesDictionaryKey];
                if(networkInterfacesDictionaryValue)
                {
                    [networkInterfaces setValue:[[CreateNetInterface alloc]initWithDic:networkInterfacesDictionaryValue] forKey:networkInterfacesDictionaryKey];
                }
            }
            if(networkInterfaces && [networkInterfaces count] > 0)
            {
                self.networkInterfaces = networkInterfaces;
            }
        }
    }
    NSDictionary* slbsDictionary =  [dictionary objectForKey:@"slbs"];
    if(slbsDictionary)
    {
        NSArray* slbsDictionaryKeys = [slbsDictionary allKeys];
        if(slbsDictionaryKeys && [slbsDictionaryKeys count] >0)
        {
            NSMutableDictionary* slbs= [[NSMutableDictionary alloc]init];
            for (NSString* slbsDictionaryKey in slbsDictionaryKeys) {
                NSDictionary* slbsDictionaryValue = [slbsDictionary valueForKey:slbsDictionaryKey];
                if(slbsDictionaryValue)
                {
                    [slbs setValue:[[SlbInfo alloc]initWithDic:slbsDictionaryValue] forKey:slbsDictionaryKey];
                }
            }
            if(slbs && [slbs count] > 0)
            {
                self.slbs = slbs;
            }
        }
    }
    NSDictionary* securityGroupsDictionary =  [dictionary objectForKey:@"securityGroups"];
    if(securityGroupsDictionary)
    {
        NSArray* securityGroupsDictionaryKeys = [securityGroupsDictionary allKeys];
        if(securityGroupsDictionaryKeys && [securityGroupsDictionaryKeys count] >0)
        {
            NSMutableDictionary* securityGroups= [[NSMutableDictionary alloc]init];
            for (NSString* securityGroupsDictionaryKey in securityGroupsDictionaryKeys) {
                NSDictionary* securityGroupsDictionaryValue = [securityGroupsDictionary valueForKey:securityGroupsDictionaryKey];
                if(securityGroupsDictionaryValue)
                {
                    [securityGroups setValue:[[CreateSecurityGroup alloc]initWithDic:securityGroupsDictionaryValue] forKey:securityGroupsDictionaryKey];
                }
            }
            if(securityGroups && [securityGroups count] > 0)
            {
                self.securityGroups = securityGroups;
            }
        }
    }
    NSDictionary* securityGroupRulesDictionary =  [dictionary objectForKey:@"securityGroupRules"];
    if(securityGroupRulesDictionary)
    {
        NSArray* securityGroupRulesDictionaryKeys = [securityGroupRulesDictionary allKeys];
        if(securityGroupRulesDictionaryKeys && [securityGroupRulesDictionaryKeys count] >0)
        {
            NSMutableDictionary* securityGroupRules= [[NSMutableDictionary alloc]init];
            for (NSString* securityGroupRulesDictionaryKey in securityGroupRulesDictionaryKeys) {
                NSDictionary* securityGroupRulesDictionaryValue = [securityGroupRulesDictionary valueForKey:securityGroupRulesDictionaryKey];
                if(securityGroupRulesDictionaryValue)
                {
                    [securityGroupRules setValue:[[CreateSgRule alloc]initWithDic:securityGroupRulesDictionaryValue] forKey:securityGroupRulesDictionaryKey];
                }
            }
            if(securityGroupRules && [securityGroupRules count] > 0)
            {
                self.securityGroupRules = securityGroupRules;
            }
        }
    }
    NSDictionary* keypairsDictionary =  [dictionary objectForKey:@"keypairs"];
    if(keypairsDictionary)
    {
        NSArray* keypairsDictionaryKeys = [keypairsDictionary allKeys];
        if(keypairsDictionaryKeys && [keypairsDictionaryKeys count] >0)
        {
            NSMutableDictionary* keypairs= [[NSMutableDictionary alloc]init];
            for (NSString* keypairsDictionaryKey in keypairsDictionaryKeys) {
                NSDictionary* keypairsDictionaryValue = [keypairsDictionary valueForKey:keypairsDictionaryKey];
                if(keypairsDictionaryValue)
                {
                    [keypairs setValue:[[CreateKeypair alloc]initWithDic:keypairsDictionaryValue] forKey:keypairsDictionaryKey];
                }
            }
            if(keypairs && [keypairs count] > 0)
            {
                self.keypairs = keypairs;
            }
        }
    }
    NSDictionary* disksDictionary =  [dictionary objectForKey:@"disks"];
    if(disksDictionary)
    {
        NSArray* disksDictionaryKeys = [disksDictionary allKeys];
        if(disksDictionaryKeys && [disksDictionaryKeys count] >0)
        {
            NSMutableDictionary* disks= [[NSMutableDictionary alloc]init];
            for (NSString* disksDictionaryKey in disksDictionaryKeys) {
                NSDictionary* disksDictionaryValue = [disksDictionary valueForKey:disksDictionaryKey];
                if(disksDictionaryValue)
                {
                    [disks setValue:[[CreateDataDisk alloc]initWithDic:disksDictionaryValue] forKey:disksDictionaryKey];
                }
            }
            if(disks && [disks count] > 0)
            {
                self.disks = disks;
            }
        }
    }
    NSDictionary* vpcsDictionary =  [dictionary objectForKey:@"vpcs"];
    if(vpcsDictionary)
    {
        NSArray* vpcsDictionaryKeys = [vpcsDictionary allKeys];
        if(vpcsDictionaryKeys && [vpcsDictionaryKeys count] >0)
        {
            NSMutableDictionary* vpcs= [[NSMutableDictionary alloc]init];
            for (NSString* vpcsDictionaryKey in vpcsDictionaryKeys) {
                NSDictionary* vpcsDictionaryValue = [vpcsDictionary valueForKey:vpcsDictionaryKey];
                if(vpcsDictionaryValue)
                {
                    [vpcs setValue:[[VpcInfo alloc]initWithDic:vpcsDictionaryValue] forKey:vpcsDictionaryKey];
                }
            }
            if(vpcs && [vpcs count] > 0)
            {
                self.vpcs = vpcs;
            }
        }
    }
    NSDictionary* vserverGroupsDictionary =  [dictionary objectForKey:@"vserverGroups"];
    if(vserverGroupsDictionary)
    {
        NSArray* vserverGroupsDictionaryKeys = [vserverGroupsDictionary allKeys];
        if(vserverGroupsDictionaryKeys && [vserverGroupsDictionaryKeys count] >0)
        {
            NSMutableDictionary* vserverGroups= [[NSMutableDictionary alloc]init];
            for (NSString* vserverGroupsDictionaryKey in vserverGroupsDictionaryKeys) {
                NSDictionary* vserverGroupsDictionaryValue = [vserverGroupsDictionary valueForKey:vserverGroupsDictionaryKey];
                if(vserverGroupsDictionaryValue)
                {
                    [vserverGroups setValue:[[CreateVserverGroup alloc]initWithDic:vserverGroupsDictionaryValue] forKey:vserverGroupsDictionaryKey];
                }
            }
            if(vserverGroups && [vserverGroups count] > 0)
            {
                self.vserverGroups = vserverGroups;
            }
        }
    }
    NSDictionary* httpListenersDictionary =  [dictionary objectForKey:@"httpListeners"];
    if(httpListenersDictionary)
    {
        NSArray* httpListenersDictionaryKeys = [httpListenersDictionary allKeys];
        if(httpListenersDictionaryKeys && [httpListenersDictionaryKeys count] >0)
        {
            NSMutableDictionary* httpListeners= [[NSMutableDictionary alloc]init];
            for (NSString* httpListenersDictionaryKey in httpListenersDictionaryKeys) {
                NSDictionary* httpListenersDictionaryValue = [httpListenersDictionary valueForKey:httpListenersDictionaryKey];
                if(httpListenersDictionaryValue)
                {
                    [httpListeners setValue:[[CreateLoadBalancerHTTPListener alloc]initWithDic:httpListenersDictionaryValue] forKey:httpListenersDictionaryKey];
                }
            }
            if(httpListeners && [httpListeners count] > 0)
            {
                self.httpListeners = httpListeners;
            }
        }
    }
    NSDictionary* diskAttachmentDictionary =  [dictionary objectForKey:@"diskAttachment"];
    if(diskAttachmentDictionary)
    {
        NSArray* diskAttachmentDictionaryKeys = [diskAttachmentDictionary allKeys];
        if(diskAttachmentDictionaryKeys && [diskAttachmentDictionaryKeys count] >0)
        {
            NSMutableDictionary* diskAttachment= [[NSMutableDictionary alloc]init];
            for (NSString* diskAttachmentDictionaryKey in diskAttachmentDictionaryKeys) {
                NSDictionary* diskAttachmentDictionaryValue = [diskAttachmentDictionary valueForKey:diskAttachmentDictionaryKey];
                if(diskAttachmentDictionaryValue)
                {
                    [diskAttachment setValue:[[DeploymentAttachDisk alloc]initWithDic:diskAttachmentDictionaryValue] forKey:diskAttachmentDictionaryKey];
                }
            }
            if(diskAttachment && [diskAttachment count] > 0)
            {
                self.diskAttachment = diskAttachment;
            }
        }
    }
    NSDictionary* netInterfaceAttachmentDictionary =  [dictionary objectForKey:@"netInterfaceAttachment"];
    if(netInterfaceAttachmentDictionary)
    {
        NSArray* netInterfaceAttachmentDictionaryKeys = [netInterfaceAttachmentDictionary allKeys];
        if(netInterfaceAttachmentDictionaryKeys && [netInterfaceAttachmentDictionaryKeys count] >0)
        {
            NSMutableDictionary* netInterfaceAttachment= [[NSMutableDictionary alloc]init];
            for (NSString* netInterfaceAttachmentDictionaryKey in netInterfaceAttachmentDictionaryKeys) {
                NSDictionary* netInterfaceAttachmentDictionaryValue = [netInterfaceAttachmentDictionary valueForKey:netInterfaceAttachmentDictionaryKey];
                if(netInterfaceAttachmentDictionaryValue)
                {
                    [netInterfaceAttachment setValue:[[DeploymentAttachNetInterface alloc]initWithDic:netInterfaceAttachmentDictionaryValue] forKey:netInterfaceAttachmentDictionaryKey];
                }
            }
            if(netInterfaceAttachment && [netInterfaceAttachment count] > 0)
            {
                self.netInterfaceAttachment = netInterfaceAttachment;
            }
        }
    }
    NSDictionary* eipAssociateDictionary =  [dictionary objectForKey:@"eipAssociate"];
    if(eipAssociateDictionary)
    {
        NSArray* eipAssociateDictionaryKeys = [eipAssociateDictionary allKeys];
        if(eipAssociateDictionaryKeys && [eipAssociateDictionaryKeys count] >0)
        {
            NSMutableDictionary* eipAssociate= [[NSMutableDictionary alloc]init];
            for (NSString* eipAssociateDictionaryKey in eipAssociateDictionaryKeys) {
                NSDictionary* eipAssociateDictionaryValue = [eipAssociateDictionary valueForKey:eipAssociateDictionaryKey];
                if(eipAssociateDictionaryValue)
                {
                    [eipAssociate setValue:[[DeploymentAssociateEip alloc]initWithDic:eipAssociateDictionaryValue] forKey:eipAssociateDictionaryKey];
                }
            }
            if(eipAssociate && [eipAssociate count] > 0)
            {
                self.eipAssociate = eipAssociate;
            }
        }
    }
    NSDictionary* rdsDictionary =  [dictionary objectForKey:@"rds"];
    if(rdsDictionary)
    {
        NSArray* rdsDictionaryKeys = [rdsDictionary allKeys];
        if(rdsDictionaryKeys && [rdsDictionaryKeys count] >0)
        {
            NSMutableDictionary* rds= [[NSMutableDictionary alloc]init];
            for (NSString* rdsDictionaryKey in rdsDictionaryKeys) {
                NSDictionary* rdsDictionaryValue = [rdsDictionary valueForKey:rdsDictionaryKey];
                if(rdsDictionaryValue)
                {
                    [rds setValue:[[CreateRDSInstance alloc]initWithDic:rdsDictionaryValue] forKey:rdsDictionaryKey];
                }
            }
            if(rds && [rds count] > 0)
            {
                self.rds = rds;
            }
        }
    }
    NSDictionary* rdsDatabaseDictionary =  [dictionary objectForKey:@"rdsDatabase"];
    if(rdsDatabaseDictionary)
    {
        NSArray* rdsDatabaseDictionaryKeys = [rdsDatabaseDictionary allKeys];
        if(rdsDatabaseDictionaryKeys && [rdsDatabaseDictionaryKeys count] >0)
        {
            NSMutableDictionary* rdsDatabase= [[NSMutableDictionary alloc]init];
            for (NSString* rdsDatabaseDictionaryKey in rdsDatabaseDictionaryKeys) {
                NSDictionary* rdsDatabaseDictionaryValue = [rdsDatabaseDictionary valueForKey:rdsDatabaseDictionaryKey];
                if(rdsDatabaseDictionaryValue)
                {
                    [rdsDatabase setValue:[[DeploymentRdsDatabase alloc]initWithDic:rdsDatabaseDictionaryValue] forKey:rdsDatabaseDictionaryKey];
                }
            }
            if(rdsDatabase && [rdsDatabase count] > 0)
            {
                self.rdsDatabase = rdsDatabase;
            }
        }
    }
    NSDictionary* rdsAccountDictionary =  [dictionary objectForKey:@"rdsAccount"];
    if(rdsAccountDictionary)
    {
        NSArray* rdsAccountDictionaryKeys = [rdsAccountDictionary allKeys];
        if(rdsAccountDictionaryKeys && [rdsAccountDictionaryKeys count] >0)
        {
            NSMutableDictionary* rdsAccount= [[NSMutableDictionary alloc]init];
            for (NSString* rdsAccountDictionaryKey in rdsAccountDictionaryKeys) {
                NSDictionary* rdsAccountDictionaryValue = [rdsAccountDictionary valueForKey:rdsAccountDictionaryKey];
                if(rdsAccountDictionaryValue)
                {
                    [rdsAccount setValue:[[DeploymentRdsAccount alloc]initWithDic:rdsAccountDictionaryValue] forKey:rdsAccountDictionaryKey];
                }
            }
            if(rdsAccount && [rdsAccount count] > 0)
            {
                self.rdsAccount = rdsAccount;
            }
        }
    }
    NSDictionary* rdsAccountGrantDictionary =  [dictionary objectForKey:@"rdsAccountGrant"];
    if(rdsAccountGrantDictionary)
    {
        NSArray* rdsAccountGrantDictionaryKeys = [rdsAccountGrantDictionary allKeys];
        if(rdsAccountGrantDictionaryKeys && [rdsAccountGrantDictionaryKeys count] >0)
        {
            NSMutableDictionary* rdsAccountGrant= [[NSMutableDictionary alloc]init];
            for (NSString* rdsAccountGrantDictionaryKey in rdsAccountGrantDictionaryKeys) {
                NSDictionary* rdsAccountGrantDictionaryValue = [rdsAccountGrantDictionary valueForKey:rdsAccountGrantDictionaryKey];
                if(rdsAccountGrantDictionaryValue)
                {
                    [rdsAccountGrant setValue:[[DeploymentAccountGrant alloc]initWithDic:rdsAccountGrantDictionaryValue] forKey:rdsAccountGrantDictionaryKey];
                }
            }
            if(rdsAccountGrant && [rdsAccountGrant count] > 0)
            {
                self.rdsAccountGrant = rdsAccountGrant;
            }
        }
    }
    NSDictionary* bucketDictionary =  [dictionary objectForKey:@"bucket"];
    if(bucketDictionary)
    {
        NSArray* bucketDictionaryKeys = [bucketDictionary allKeys];
        if(bucketDictionaryKeys && [bucketDictionaryKeys count] >0)
        {
            NSMutableDictionary* bucket= [[NSMutableDictionary alloc]init];
            for (NSString* bucketDictionaryKey in bucketDictionaryKeys) {
                NSDictionary* bucketDictionaryValue = [bucketDictionary valueForKey:bucketDictionaryKey];
                if(bucketDictionaryValue)
                {
                    [bucket setValue:[[DeploymentBucket alloc]initWithDic:bucketDictionaryValue] forKey:bucketDictionaryKey];
                }
            }
            if(bucket && [bucket count] > 0)
            {
                self.bucket = bucket;
            }
        }
    }
    self.variables = [dictionary objectForKey:@"variables"];
    return self;
}
 @end
@implementation VmInfoDetail
-(id) initWithId:(NSString*) idValue
      region:(NSString*)region
      az:(NSString*)az
      name:(NSString*)name
      hostName:(NSString*)hostName
      imageId:(NSString*)imageId
      imageType:(ImageType*)imageType
      instanceType:(InstanceType*)instanceType
      descriptionValue:(NSString*)descriptionValue
      subnetId:(NSString*)subnetId
      tags:(NSArray<Tag*>*)tags
      cloudID:(NSString*)cloudID
      keyNames:(NSArray<NSString*>*)keyNames
      elasticIpAddress:(NSString*)elasticIpAddress
      privateIpAddress:(NSString*)privateIpAddress
      securityGroupIds:(NSArray<NSString*>*)securityGroupIds
      status:(NSString*)status
      createdTime:(NSString*)createdTime
      sysDiskInfo:(SysDiskInfo*)sysDiskInfo
      dataDiskAttachments:(NSArray<DataDiskAttachment*>*)dataDiskAttachments
      primaryNetworkInterface:(NetAttachment*)primaryNetworkInterface
      secondaryNetworkInterfaces:(NSArray<NetAttachment*>*)secondaryNetworkInterfaces
      metadata:(NSString*)metadata { 
     self.idValue = idValue;               
     self.region = region;               
     self.az = az;               
     self.name = name;               
     self.hostName = hostName;               
     self.imageId = imageId;               
     self.imageType = imageType;               
     self.instanceType = instanceType;               
     self.descriptionValue = descriptionValue;               
     self.subnetId = subnetId;               
     self.tags = tags;               
     self.cloudID = cloudID;               
     self.keyNames = keyNames;               
     self.elasticIpAddress = elasticIpAddress;               
     self.privateIpAddress = privateIpAddress;               
     self.securityGroupIds = securityGroupIds;               
     self.status = status;               
     self.createdTime = createdTime;               
     self.sysDiskInfo = sysDiskInfo;               
     self.dataDiskAttachments = dataDiskAttachments;               
     self.primaryNetworkInterface = primaryNetworkInterface;               
     self.secondaryNetworkInterfaces = secondaryNetworkInterfaces;               
     self.metadata = metadata;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    if([self region])
    {
        [result setValue:[self region] forKey:@"region"];
    }
    if([self az])
    {
        [result setValue:[self az] forKey:@"az"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self hostName])
    {
        [result setValue:[self hostName] forKey:@"hostName"];
    }
    if([self imageId])
    {
        [result setValue:[self imageId] forKey:@"imageId"];
    }
    if([self imageType])
    {
        [result setValue:[[self imageType] dictionary]forKey:@"imageType"];
    }
    if([self instanceType])
    {
        [result setValue:[[self instanceType] dictionary]forKey:@"instanceType"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self subnetId])
    {
        [result setValue:[self subnetId] forKey:@"subnetId"];
    }
    if([self tags])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self tags] count]; i++) {
            Tag* item = [[self tags] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"tags"];
    }
    if([self cloudID])
    {
        [result setValue:[self cloudID] forKey:@"cloudID"];
    }
    if([self keyNames])
    {
        [result setValue:[self keyNames] forKey:@"keyNames"];
    }
    if([self elasticIpAddress])
    {
        [result setValue:[self elasticIpAddress] forKey:@"elasticIpAddress"];
    }
    if([self privateIpAddress])
    {
        [result setValue:[self privateIpAddress] forKey:@"privateIpAddress"];
    }
    if([self securityGroupIds])
    {
        [result setValue:[self securityGroupIds] forKey:@"securityGroupIds"];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    if([self createdTime])
    {
        [result setValue:[self createdTime] forKey:@"createdTime"];
    }
    if([self sysDiskInfo])
    {
        [result setValue:[[self sysDiskInfo] dictionary]forKey:@"sysDiskInfo"];
    }
    if([self dataDiskAttachments])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self dataDiskAttachments] count]; i++) {
            DataDiskAttachment* item = [[self dataDiskAttachments] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"dataDiskAttachments"];
    }
    if([self primaryNetworkInterface])
    {
        [result setValue:[[self primaryNetworkInterface] dictionary]forKey:@"primaryNetworkInterface"];
    }
    if([self secondaryNetworkInterfaces])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self secondaryNetworkInterfaces] count]; i++) {
            NetAttachment* item = [[self secondaryNetworkInterfaces] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"secondaryNetworkInterfaces"];
    }
    if([self metadata])
    {
        [result setValue:[self metadata] forKey:@"metadata"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.idValue = [dictionary objectForKey:@"id"];
    self.region = [dictionary objectForKey:@"region"];
    self.az = [dictionary objectForKey:@"az"];
    self.name = [dictionary objectForKey:@"name"];
    self.hostName = [dictionary objectForKey:@"hostName"];
    self.imageId = [dictionary objectForKey:@"imageId"];
    self.imageType = [[ImageType alloc]initWithDic:[dictionary objectForKey:@"imageType"]];
    self.instanceType = [[InstanceType alloc]initWithDic:[dictionary objectForKey:@"instanceType"]];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.subnetId = [dictionary objectForKey:@"subnetId"];
    NSArray* tagsArray = [dictionary objectForKey:@"tags"];
    if(tagsArray&&![tagsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [tagsArray count];i++)
        {
            Tag* item = [[Tag alloc]initWithDic:[tagsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.tags = propertyArray;
    }
    self.cloudID = [dictionary objectForKey:@"cloudID"];
    self.keyNames = [dictionary objectForKey:@"keyNames"];
    self.elasticIpAddress = [dictionary objectForKey:@"elasticIpAddress"];
    self.privateIpAddress = [dictionary objectForKey:@"privateIpAddress"];
    self.securityGroupIds = [dictionary objectForKey:@"securityGroupIds"];
    self.status = [dictionary objectForKey:@"status"];
    self.createdTime = [dictionary objectForKey:@"createdTime"];
    self.sysDiskInfo = [[SysDiskInfo alloc]initWithDic:[dictionary objectForKey:@"sysDiskInfo"]];
    NSArray* dataDiskAttachmentsArray = [dictionary objectForKey:@"dataDiskAttachments"];
    if(dataDiskAttachmentsArray&&![dataDiskAttachmentsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [dataDiskAttachmentsArray count];i++)
        {
            DataDiskAttachment* item = [[DataDiskAttachment alloc]initWithDic:[dataDiskAttachmentsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.dataDiskAttachments = propertyArray;
    }
    self.primaryNetworkInterface = [[NetAttachment alloc]initWithDic:[dictionary objectForKey:@"primaryNetworkInterface"]];
    NSArray* secondaryNetworkInterfacesArray = [dictionary objectForKey:@"secondaryNetworkInterfaces"];
    if(secondaryNetworkInterfacesArray&&![secondaryNetworkInterfacesArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [secondaryNetworkInterfacesArray count];i++)
        {
            NetAttachment* item = [[NetAttachment alloc]initWithDic:[secondaryNetworkInterfacesArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.secondaryNetworkInterfaces = propertyArray;
    }
    self.metadata = [dictionary objectForKey:@"metadata"];
    return self;
}
 @end
@implementation VmInstanceCollection
-(id) initWithVms:(NSArray<VmInfo*>*) vms { 
     self.vms = vms;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self vms])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self vms] count]; i++) {
            VmInfo* item = [[self vms] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"vms"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* vmsArray = [dictionary objectForKey:@"vms"];
    if(vmsArray&&![vmsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [vmsArray count];i++)
        {
            VmInfo* item = [[VmInfo alloc]initWithDic:[vmsArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.vms = propertyArray;
    }
    return self;
}
 @end
@implementation VmInstanceItem
-(id) initWithVm:(VmInfoDetail*) vm { 
     self.vm = vm;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self vm])
    {
        [result setValue:[[self vm] dictionary]forKey:@"vm"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.vm = [[VmInfoDetail alloc]initWithDic:[dictionary objectForKey:@"vm"]];
    return self;
}
 @end
@implementation DeploymentApplyInfo
-(id) initWithId:(NSString*) idValue
      comment:(NSString*)comment
      applyTime:(NSString*)applyTime
      version:(NSString*)version
      content:(DeploymentResourcesInfo*)content { 
     self.idValue = idValue;               
     self.comment = comment;               
     self.applyTime = applyTime;               
     self.version = version;               
     self.content = content;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self idValue])
    {
        [result setValue:[self idValue] forKey:@"id"];
    }
    if([self comment])
    {
        [result setValue:[self comment] forKey:@"comment"];
    }
    if([self applyTime])
    {
        [result setValue:[self applyTime] forKey:@"applyTime"];
    }
    if([self version])
    {
        [result setValue:[self version] forKey:@"version"];
    }
    if([self content])
    {
        [result setValue:[[self content] dictionary]forKey:@"content"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.idValue = [dictionary objectForKey:@"id"];
    self.comment = [dictionary objectForKey:@"comment"];
    self.applyTime = [dictionary objectForKey:@"applyTime"];
    self.version = [dictionary objectForKey:@"version"];
    self.content = [[DeploymentResourcesInfo alloc]initWithDic:[dictionary objectForKey:@"content"]];
    return self;
}
 @end
@implementation CreateChannel
-(id) initWithChannel:(ChannelInfo*) channel { 
     self.channel = channel;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self channel])
    {
        [result setValue:[[self channel] dictionary]forKey:@"channel"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.channel = [[ChannelInfo alloc]initWithDic:[dictionary objectForKey:@"channel"]];
    return self;
}
 @end
@implementation VpcSecurityGroupItem
-(id) initWithSecurityGroup:(SecurityGroupDetail*) securityGroup { 
     self.securityGroup = securityGroup;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self securityGroup])
    {
        [result setValue:[[self securityGroup] dictionary]forKey:@"securityGroup"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.securityGroup = [[SecurityGroupDetail alloc]initWithDic:[dictionary objectForKey:@"securityGroup"]];
    return self;
}
 @end
@implementation UserNotFoundResp
-(id) initWithError:(UserNotFoundException*) error { 
     self.error = error;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self error])
    {
        [result setValue:[[self error] dictionary]forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.error = [[UserNotFoundException alloc]initWithDic:[dictionary objectForKey:@"error"]];
    return self;
}
 @end
@implementation DiskCollection
-(id) initWithDisks:(NSArray<CloudDataDisk*>*) disks { 
     self.disks = disks;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self disks])
    {
        NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
        for (int i =0 ; i< [[self disks] count]; i++) {
            CloudDataDisk* item = [[self disks] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"disks"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* disksArray = [dictionary objectForKey:@"disks"];
    if(disksArray&&![disksArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [disksArray count];i++)
        {
            CloudDataDisk* item = [[CloudDataDisk alloc]initWithDic:[disksArray objectAtIndex:i]];
            if(item)
            {
                [propertyArray addObject:item];
            }
        }
        self.disks = propertyArray;
    }
    return self;
}
 @end
@implementation VpcNetworkInterfaceItem
-(id) initWithNetInterface:(NetInterfaceInfo*) netInterface { 
     self.netInterface = netInterface;               
    return self;
}

-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self netInterface])
    {
        [result setValue:[[self netInterface] dictionary]forKey:@"netInterface"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.netInterface = [[NetInterfaceInfo alloc]initWithDic:[dictionary objectForKey:@"netInterface"]];
    return self;
}
 @end
 
 


